博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux监测某一时刻对外的IP连接情况
阅读量:4041 次
发布时间:2019-05-24

本文共 1157 字,大约阅读时间需要 3 分钟。

netstat -untp |sed ‘1,2 d’|cut -d’:’ --output-delimiter=’ ’ -f1,2,3,4|awk ‘{print $9":"$10"|"$2"|"$3"|"$5"|"$7,$1,$4,$6}’|sort|uniq -c -f1 |sort -nr | cut -d’|’ --output-delimiter=’ ’ -f1,2,3,4,5,6,7,8,9|awk ‘{print $1,$3,$4,$7,$8":"$5,$9":"$6,$2}’

分解:

netstat -untp //输出网络信息sed '1,2 d'//去掉一二行cut -d':' --output-delimiter=' ' -f1,2,3,4//按:切开并用空格分开,主要是为了把端口号分离出来以免统计重复行时因为端口号不一样产生影响awk '{print $9":"$10"|"$2"|"$3"|"$5"|"$7,$1,$4,$6}'//把一些会影响重复行判断的因素组成一列sort//排序uniq -c -f1//判断复复行,忽略第一列,这就是上面为什么要把组合列放在第一列的原因了sort -nr//再次排序cut -d'|' --output-delimiter=' ' -f1,2,3,4,5,6,7,8,9//把之前的第一列再拆开awk '{print $1,$3,$4,$7,$8":"$5,$9":"$6,$2}'//重新组合输出内容

如果有发生特别需要监控的情况,可以设定自动任务,按监控密度自已定义秒级别或分钟级别,以下代码存为.sh文件:

#!/bin/bashbasedir="/home/testdir/";mkdir $basedir;datedir=$(date +%y%m%d);mkdir "$basedir$datedir";fname=$(date +%H%M%S);netstat -untp |sed '1,2 d'|cut -d':' --output-delimiter=' ' -f1,2,3,4|awk '{print $9":"$10"|"$2"|"$3"|"$5"|"$7,$1,$4,$6}'|sort|uniq -c -f1 |sort -nr | cut -d'|' --output-delimiter=' ' -f1,2,3,4,5,6,7,8,9|awk '{print $1,$3,$4,$7,$8":"$5,$9":"$6,$2}' > $basedir$datedir/$fname.log //水平有限,以上代码请自己优化

作者:死胖子

来源:CSDN
原文:
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的文章
【正则表达式】以个人的理解帮助大家认识正则表达式
查看>>
性能调优之iostat命令详解
查看>>
性能调优之iftop命令详解
查看>>
非关系型数据库(nosql)介绍
查看>>
移动端自动化测试-Windows-Android-Appium环境搭建
查看>>
Xpath使用方法
查看>>
移动端自动化测试-Mac-IOS-Appium环境搭建
查看>>
Selenium之前世今生
查看>>
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>
Java中数字转大写货币(支持到千亿)
查看>>
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>