Awk
監控伺服器連接 - Netstat 格式問題
我最近在伺服器上遇到了一些問題。所以我只想留下一個視窗,顯示連接設備的唯一性和 IP。
我一直在使用:
watch -n 5 "netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | sed 's/.*::ffff://' | sort | uniq -c | sort -nr"
這是格式化失敗時的輸出範例 這是 Netstat 的範例,沒有格式化 原因導致混淆,我是否
awk '{print $5}'
僅用於列印第 5 列我假設它是因為我試圖將手錶與點子一起使用,而有些東西與另一個不一致。
任何人都可以建議對一個班輪進行調整,或者任何人都可以建議另一種工具來監視與伺服器的活動連接(對本地連接不感興趣)
我會嘗試
... | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} '
它應該過濾埠 80 上的遠端 IP。
- 沒必要
grep | awk | sed
!!$5 ~ /:80$/
過濾以 80 結尾的第五個欄位!u[A[1]]++
僅有效一次split()
將導致 IP onA[1]
(和 port onA[2]
)(至少對於純 IPV4 )應付手錶之類的
while true do netstat -tn 2>/dev/null | awk '$5 ~ /:80$/ { split($5,A,":") ; if ( !u[A[1]]++ ) print A[1] ;} ' sleep 5 done