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

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

netstat -ntu | awk ‘{print $5}‘ | cut -d: -f1 | sort | uniq -c | sort -n

其中采用的命令,有明显的不足,如没有判断是否为本地连接127.0.0.1或任意地址标识0.0.0.0或空的情况,也没有去掉netstat输出的前两行文字头,且应该降序输出

我自己的版本:

netstat -ant |sed ‘1,2 d‘| awk ‘{print $5}‘ | sort | cut -d: -f1 |awk ‘{if($1!="0.0.0.0" && $1!="" && $1!="127.0.0.1"){print $1}}‘| uniq -c |sort -nr

输出为:

2 173.194.72.95

1 98.254.64.168

1 91.189.89.144

1 91.122.59.53

1 82.208.89.58

1 81.7.14.114

1 70.112.226.65

1 180.76.22.33

1 143.215.130.46

1 126.107.72.9

1 117.79.93.218

设定一个阙值value,若某一时刻,某个对外连接的某个IP1总数超过这个value,则以(IP1,starttime)加入黑名单,然后iptables -t filter -A INPUT  -s IP1 DROP.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-16 11:35:06

Linux监测某一时刻对外的IP连接情况的相关文章

查看服务器的TCP/IP(http)连接情况

6.那具体到,怎样监听一个具体程序的TCP/IP连接情况呢???!! 就要用:netstat -n|grep 80 命令来查看具体端口对应程序的TCP/IP连接情况了 netstat -n|grep 80出现大量time_wait 在运行netstat -n|grep 80 | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'时发现有大量的time_wait,出现这种情况需要查看接口日志是否有阻塞现象,另也可以修改linux配置,来减

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

两台Linux服务器,一台为主机(IP:124.158.26.30)对外提供了一定的网络服务,另一台从机(IP:124.158.26.31)能提供相同的服务,但ip地址没有对外部公开客户端连接的都是124.158.26.30这个ip地址,如果主机故障,则会使网络服务暂时中断,时间越长造成损失越大由于没有采用双机热备技术,考虑自己用Linux脚本来实现简单的浮动ip技术,当主机故障时从机获取124.158.26.30这个ip,暂时替代主机提供服务,当主机恢复时,从机自动释放这个ip 实现: 利用单

Linux网络基础番外篇(IP、MAC、TCP)

linux网络管理 计算机网络 MACMAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制.介质访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC地址.因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址.MAC地址(MAC Address)MAC(Medium/Media Access Control)地址,用来表示互联网上每一

如何在 Linux 终端中知道你的公有 IP

导读 在本文中我将会介绍在几种在 Linux 终端中查看你的公有 IP 地址的方法.这对普通用户来说并无意义,但 Linux 服务器(无GUI或者作为只能使用基本工具的用户登录时)会很有用.无论如何,从 Linux 终端中获取公有 IP 在各种方面都很意义,说不定某一天就能用得着. 公有地址由 InterNIC 分配并由基于类的网络 ID 或基于 CIDR 的地址块构成(被称为 CIDR 块),并保证了在全球互联网中的唯一性.当公有地址被分配时,其路由将会被记录到互联网中的路由器中,这样访问公有

用Linux命令行获取本机外网IP地址

用Linux命令行获取本机外网IP地址 $ curl ifconfig.me$ curl icanhazip.com$ curl ident.me$ curl ipecho.net/plain$ curl whatismyip.akamai.com$ curl tnx.nl/ip$ curl myip.dnsomatic.com$ curl ip.appspot.com$ curl -s checkip.dyndns.org | sed 's/.*IP Address: \([0-9\.]*\)

linux系统使用arp-scan检查是否存在IP地址冲突

如果前期没有做好IP地址规划,即使有IP地址统一不小心也会犯错!推荐服务器IP地址使用要登记明细,上次机房批量部署服务器,就将已再用的IP又分配给另一台服务器,还好对业务没有造成大的影响. 那么在给服务器配置IP的时候,怎么确保IP地址没有被使用,或者出现异常时有什么方法检测那?今天看到一个工具. arp-scan ,该工具在局域网内发送ARP数据包,来收集IP和MAC地址信息.如果一个IP地址对应多个MAC地址,就说明IP冲突了. 安装部署方法如下: 安装方法有两种: 首先安装软件依赖包 yu

linux下通过iptables只允许指定ip地址访问指定端口的设置方法

这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则 其次,设置只允许指定ip地址访问指定端口 其次,设置只允许指定ip地址访问指定端口 iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT iptab

Linux 下查看局域网内所有主机IP和MAC

用nmap对局域网扫描一遍,然后查看arp缓存表就可以知道局域内ip对应的mac了.nmap比较强大也可以直接扫描mac地址和端口.执行扫描之后就可以 cat /proc/net/arp查看arp缓存表了. 进行ping扫描,打印出对扫描做出响应的主机: $ nmap -sP 192.168.1.0/24 仅列出指定网络上的每台主机,不发送任何报文到目标主机: $ nmap -sL 192.168.1.0/24 探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS 22,23,25

Linux内核分析 - 网络[十四]:IP选项

Linux内核分析 - 网络[十四]:IP选项 标签: linux内核网络structsocketdst 2012-04-25 17:14 5639人阅读 评论(1) 收藏 举报  分类: 内核协议栈(22)  版权声明:本文为博主原创文章,未经博主允许不得转载. 内核版本:2.6.34      在发送报文时,可以调用函数setsockopt()来设置相应的选项,本文主要分析IP选项的生成,发送以及接收所执行的流程,选取了LSRR为例子进行说明,主要分为选项的生成.选项的转发.选项的接收三部分