linux下列出所有連接到你的Server的IP地址 最近要做一個檢查所有連接到主機的IP的腳本,google到一篇老外寫的文章 "《List all IP addresses connected to your Server》" 試了一下腳本結果好像可以。因為對linux瞭解很少,所以對這 行 腳 ...
linux下列出所有連接到你的Server的IP地址
最近要做一個檢查所有連接到主機的IP的腳本,google到一篇老外寫的文章
《List all IP addresses connected to your Server》
試了一下腳本結果好像可以。因為對linux瞭解很少,所以對這行腳本各種參數和命令不太明白,正好這篇文章對腳本的描述很詳細,正好一邊翻譯一邊理解了。
下列是一個Unix命令,用來列出所有連接到主機80埠的IP地址。
netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
輸出 - 全部按IP連接數從高到低排列
97 114.198.236.100
56 67.166.157.194
44 170.248.43.76
38 141.0.9.20
37 49.248.0.2
37 153.100.131.12
31 223.62.169.73
30 65.248.100.253
29 203.112.82.128
29 182.19.66.187
註:
This command is useful to detect if your server is under attack, and null route those IPs. Read this null route attacker IP story.
下麵來把這個有點長的命令打散:
1. netstat -tn 2>/dev/null
用 netstat 列出所有網路連接,包括進和出。
- -n -只顯示數字(IP地址和埠),不解析成名字。
- -t -只顯示TCP連接。
輸出
#Examples - 7 connections
tcp 0 0 64.91.*.*:80 114.198.236.100:12763 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51950 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51951 TIME_WAIT
tcp 0 0 64.91.*.*:23 202.127.210.2:14517 TIME_WAIT
tcp 0 0 64.91.*.*:80 149.238.193.121:65268 TIME_WAIT
tcp 0 0 64.91.*.*:80 114.198.236.100:44088 ESTABLISHED
tcp 0 0 64.91.*.*:80 175.136.226.244:51952 TIME_WAIT
2>/dev/null
重定位所有不必要的輸出流到/dev/null——一個專門用來獲取並清空所有輸出流的地方。(譯註:2是標準錯誤輸出,這段命令用來隱藏所有錯誤信息。)
2. grep :80
只顯示連接到主機80埠的IP地址。
tcp 0 0 64.91.*.*:80 114.198.236.100:12763 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51950 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51951 TIME_WAIT
tcp 0 0 64.91.*.*:80 149.238.193.121:65268 TIME_WAIT
tcp 0 0 64.91.*.*:80 114.198.236.100:44088 ESTABLISHED
tcp 0 0 64.91.*.*:80 175.136.226.244:51952 TIME_WAIT
3. awk ‘{print $5}’
使用 awk
來只顯示第5列的內容。
114.198.236.100:12763
175.136.226.244:51950
175.136.226.244:51951
149.238.193.121:65268
114.198.236.100:44088
175.136.226.244:51952
4. cut -d: -f1
使用 cut
來抽取內容。
- -d – 在-d選項後面緊挨著的文字將作為分隔符,預設是tab。
- -f – 指定顯示用分隔符進行分割後的列
114.198.236.100
175.136.226.244
175.136.226.244
149.238.193.121
114.198.236.100
175.136.226.244
5. sort | uniq -c | sort -nr
對列表進行排序,分組然後再次倒序排序。
sort
114.198.236.100
114.198.236.100
149.238.193.121
175.136.226.244
175.136.226.244
175.136.226.244
uniq -c
– 分組。
2 114.198.236.100
1 149.238.193.121
3 175.136.226.244
sort -nr
– 按數字倒序排列(大數在前)。
3 175.136.226.244
2 114.198.236.100
1 149.238.193.121
完成。
6. head
這是個可選項,用來顯示前10個結果。