Linux监测某一时刻对外的IP连接情况

https://blog.csdn.net/twt326/article/details/81454171

公司机器有病毒 需要分析一下. 

之前有需要,在CSDN上找到一篇不错的文章:

https://blog.csdn.net/wolfzhaoshuai/article/details/46803719

此篇中介绍的直接方法仅能输出远程IP,因此做了一些改进:

可以显示进程信息和收发数据量(当然,是group之后的第一条,进程可以有些参考价值)

权当抛砖引玉,有更好的方法 ,欢迎留言交流。

命令:

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}'//重新组合输出内容
执行结果:

//重复行数 recv send localAddress foreignAddress PID/ProgramName
8 0 0 tcp 172.18.253.218:32894 183.61.180.220:443 -:
7 0 0 tcp 172.18.253.218:34730 172.18.253.219:3306 -:
6 0 0 tcp 172.18.253.218:42106 120.25.112.91:443 -:
4 0 0 tcp 172.18.253.218:51590 115.28.232.153:3306 -:
3 0 0 tcp 172.18.253.218:22 183.50.13.146:3835 8150/sshd:
3 0 0 tcp 172.18.253.218:22 183.50.13.146:2361 10534/sshd:
3 0 0 tcp 127.0.0.1:9000 127.0.0.1:47812 -:
2 0 0 tcp 127.0.0.1:32000 127.0.0.1:31000 1349/wrapper:
1 0 64 tcp 172.18.253.218:22 183.11.131.53:5566 9081/sshd:
1 0 0 tcp 172.18.253.218:46238 106.11.248.51:80 1597/AliYunDun:
1 0 0 tcp 172.18.253.218:2049 172.18.253.220:763 -:
如果有发生特别需要监控的情况,可以设定自动任务,按监控密度自已定义秒级别或分钟级别,以下代码存为.sh文件:

#!/bin/bash
basedir="/home/testdir/";
mkdir $basedir;
datedir=$(date +%y%m%d);
mkdir "$basedir$datedir";
fname=$(date +%H%M%S);
netstat -untp |sed ,,|awk ,,,,,,,|awk '{print $1,$3,$4,$7,$8":"$5,$9":"$6,$2}' > $basedir$datedir/$fname.log

//水平有限,以上代码请自己优化
记得一定要关注硬盘空间和inode消耗,否则会出大事:)

也可以网上找找自动删除过期文件的代码加上去。

点赞
————————————————
版权声明:本文为CSDN博主「死胖子」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/twt326/article/details/81454171

[转帖]Linux监测某一时刻对外的IP连接情况的更多相关文章

  1. Linux监測某一时刻对外的IP连接情况

    相信大家都熟悉netstat命令吧,这里就主要採用此命令.网上流传的DDoS Deflate工具就是採用IP数量来统计对外连接数,然后结合Iptables的方法来实现某个IP增加黑名单和解禁某IP n ...

  2. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  3. [转帖]Linux 下实践 VxLAN:虚拟机和 Docker 场景

    Linux 下实践 VxLAN:虚拟机和 Docker 场景 https://www.cnblogs.com/bakari/p/11264520.html 实践了下 没问题 作者写的很perfect ...

  4. linux 防火墙开放特定端口与指定ip谨防

    vi etc/iptable/sysconfig/iptables linux 开放固定端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 1 ...

  5. [转]linux下iftop工具的安装与使用详解(图文)——实时的网络流量,监控TCP/IP连接(单机)

    原文链接:http://www.jbxue.com/LINUXjishu/10735.html 在linux中监控系统资源.进程.内存占用等信息,可以使用top命令.查看网络状态可以使用netstat ...

  6. 在Linux 双机下自己手动实现浮动ip技术

    两台Linux服务器,一台为主机(IP:124.158.26.30)对外提供了一定的网络服务,另一台从机(IP:124.158.26.31)能提供相同的服务,但ip地址没有对外部公开客户端连接的都是1 ...

  7. Linux网络——查看网络连接情况的命令

    Linux网络——查看网络连接情况的命令 摘要:本文主要学习了Linux中用来查看网络连接情况的命令. hostname命令 hostname命令用于显示和设置系统的主机名称,设置只是临时生效,永久生 ...

  8. Linux:Vmware安装linux虚拟机,桥接方式配置静态IP后重启网卡,提示:Error,some other host already uses address 10.252.252.21...

    问题: Vmware安装linux虚拟机,桥接方式配置静态IP后重启网卡,提示:Error,some other host already uses address 10.252.252.21... ...

  9. 查linux端口连接情况用命令netstat

    查linux端口连接情况用命令netstat netstat -apn |grep cdnbest 或netstat –apn | grep 3320

随机推荐

  1. 快速上手Mac效率神器Alfred以及Alfred常用操作

    前言 Alfred,想必大家就算没用过也耳闻过.Alfred是一个让你可以丢掉鼠标的神器.很多读者可能之前认为Alfred的学习成本高,或者感觉它太复杂,而望之却步.其实Alfred并非高不可攀,本文 ...

  2. mac下chm文件打开乱码解决

    菜单栏点击---显示---文本编码(选择编码格式)

  3. dtd的引入方式

    dtd三种引入方法 //第一种引入方式: //1.dtd <?xml version="1.0" encoding="UTF-8"?> <!E ...

  4. android studio学习----android studio断点调试

    先编译好要调试的程序. 1.设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可. 2.开启调试会话 点击红色箭头指向的小虫子,开始进入调试. IDE下方出现Debug视图,红色的箭头指 ...

  5. Google Analytics 学习笔记一 —— GA简介

    GA的原理 网页页面添加GA跟踪代码,以"一像素"传递信息给服务器 hit(交互) --> sessions(会话) --> user(用户) 竞品对比 Firebas ...

  6. 深度学习-TensorFlow2.0笔记(一)

    一.Tensor 1.1 什么是Tensor?Tensor的数据类型 Tensor是张量的意思,在TensorFlow中张量可以是标量(scalar).向量(vector).矩阵(matrix).高维 ...

  7. python通过连接池连接redis,操作redis队列

    在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...

  8. netcore2.2以及netcore3.0下的swagger使用

    自从core3.0发布后,中间有很多东西跟以往用到的2.2版本相差特别多,今天主要来说一下swagger不同版本下的使用. swagger就是一个可视化接口工具,为了方便让调用者能够很好的了解接口以及 ...

  9. vue 开发系列(十) VUE 作用域插槽

    使用场景 官方解释,有时让插槽内容能够访问子组件中才有的数据是很有用的.比如我们在使用ant-design-vue 的表格控件时. <a-table-column title="注释& ...

  10. Python Treelib 多叉树 数据结构 中文使用帮助文档

    树,对于计算机编程语言来说是一个重要的数据结构.它具有广泛的应用,比如文件系统的分层数据结构和机器学习中的一些算法.这里创建了treelib来提供Python中树数据结构的高效实现. 官方文档:htt ...