netstat 是一个十分好用的网络管理工具,而其中一个用途是查看不寻常连线,例如当一个 IP 发送大量连线到服务器,那么服务器很大机会是否遭受 DoS 或 DDoS 攻击。
以下是一些实用的 netstat 语法,可以检查主机的连线数量:
显示主机上所有已建立的连线:
|
1 |
# netstat -na |
显示所有 port 80 的连线,并把结果排序:
|
1 |
# netstat -an | grep :80 | sort |
列出主机上有多少个 SYNC_REC,一般上这个数字应该相当低:
|
1 |
# netstat -n -p|grep SYN_REC | wc -l |
同样是列出 SYNC_REC,但不只列出数字,而是将每个 SYNC_REC 的连线列出:
|
1 |
# netstat -n -p | grep SYN_REC | sort -u |
列出发送 SYNC_REC 的所有 ip 地址:
|
1 |
# netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}' |
计算每一个 ip 在主机上建立的连线数量:
|
1 |
# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n |
列出从 TCP 或 UDP 连线到主机的 ip 的数量:
|
1 |
# netstat -anp |grep ‘tcp|udp’ | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n |
列出每个 ip 建立的 ESTABLISHED 连线数量:
|
1 |
# netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr |
列出每个 ip 建立的 port 80 连线数量:
|
1 |
# netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1 |