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. csp 201809-1卖菜

    问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜. 第一天,每个商店都自己定了一个价格.店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商 ...

  2. Asp.Net MVC强类型页面获取值几种方式

    方式一 (V:视图) @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="v ...

  3. EurekaServer自动装配及启动流程解析

    在开始本篇文章之前,我想你对SpringCloud和SpringBoot的基本使用已经比较熟悉了,如果不熟悉的话可以参考我之前写过的文章 本篇文章的源码基于SpringBoot2.0,SpringCl ...

  4. bootstrap基础样式学习(二)——栅格

    (1)最外层必须使用容器 div.container或 div.container-fluid (2)容器可以放置任何内容,若想使用栅格系统必须用 div.row div.container > ...

  5. Spring Cloud Eureka详细说明

    之前学习了如何配置Eureka注册中心.消费者等,关于更详细的一些常用的配置在这里说明. 1.注册中心的自我保护模式 在我们调试Eureka的注册中心时,访问注册中心页面,常常会看见以下提示. 该提示 ...

  6. Resin 4.0 部署SSL证书

    前言 Resin目前最新的版本还是4.0 (4.0.49),使用Java EE6,在Resin上部署证书,一般有两种方式,首先我们推荐采用Openssl方式,不仅因为Openssl模式下的速度更快,而 ...

  7. Codeforces Round #305 (Div. 2)D. Mike and Feet(单调栈)

    题意 n个值代表n个熊的高度 对于size为x的group strength值为这个group(连续的几个熊)中熊的最小的height值 对于x(1<=x<=n) 求出最大的strengt ...

  8. BERT安装与使用

    环境: python 3.5 tensorflow 1.12.1 bert-serving-server 1.9.1 bert-serving-cline 1.9.1 官网上说要保证Python &g ...

  9. 学习10:Python重要知识

    Python易忽略知识 (1)print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="": (2)isinstance 和 type 的区别在于:type()不 ...

  10. 201871010107-公海瑜《面向对象程序设计(java)》第十二周学习总结

    201871010107-公海瑜<面向对象程序设计(java)>第十二周学习总结              项目                                内容     ...