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. Navicat for Mysql安装及破解教程

    一.Navicat for Mysql安装 下载链接:https://navicatformysql.en.softonic.com/ 点击download下载. 下载完成后双击安装 二.破解 破解工 ...

  2. mssql附加的数据库查询的时候没有搜索权限

    1.选中数据安全性-登录名-选择某个账户-右键-属性 2.服务器角色-选择public和systemadmin 3.用户映射-选中库-下面选中public 和owner

  3. MySql常用操作【基础且详细(●'◡'●)】

    有那么挺长段时间没有敲代码了,今敲起来竟然有些sql都想不起来了

  4. 99%的程序都没有考虑的网络异常?使用Fundebug.notify()主动上报

    近日看到一篇文章99%的程序都没有考虑的网络异常,开篇提到: 绝大多数程序只考虑了接口正常工作的场景,而用户在使用我们的产品时遇到的各类异常,全都丢在看似 ok 的 try catch 中.如果没有做 ...

  5. JMETER 审批任务实战

    业务场景 我们需要对流程任务进行审批,这个和流程发起是不一样的,因为在流程发起时,只需要用户登录后,指定固定的流程方案和数据就可以发起流程了. 流程任务是需要获取任务ID再做任务审批的. 实现思路 1 ...

  6. 桌面图标管理工具-Rolan(网上收集,仅供学习与研究,支持正版)

    Rolan 是一个轻量级启动器,“你可以通过将文件拖到软件窗口中,然后通过像 QQ 一样的吸附或者键盘热键随时呼出,点击图标即可启动,使用起来非常方便快捷! 官网:https://getrolan.c ...

  7. (转)LoadRunner集合点设置1

    集合点的意思时等到特定的用户数后再一起执行某个操作,比如一起保存,一起提交(我们通常意义上的并发数并不是指一起提交或者一起保存),一般情况下使用不到集合点,不过,订票系统或者促销类需要用到,比如说某个 ...

  8. JAVA并发-CountDownLatch

    源码: 内部类Sync private static final class Sync extends AbstractQueuedSynchronizer { private static fina ...

  9. .Net反射-Type类型扩展

    /// <summary> /// Type 拓展 /// </summary> public static class TypeExtensions { /// <su ...

  10. nginx配置代理时参数说明