Linux网络相关命令:netstat,ss
簡介
Netstat 命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息,如網(wǎng)絡(luò)連接,路由表,接口狀態(tài) (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
netstat是遍歷/proc下面每個PID目錄,ss直接讀/proc/net下面的統(tǒng)計信息。所以ss執(zhí)行的時候消耗資源以及消耗的時間都比netstat少很多。
ss 基本用法
ss -l 顯示本地打開的所有端口
ss -pl 顯示每個進程具體打開的socket
ss -t -a 顯示所有tcp socket
ss -u -a 顯示所有的UDP Socekt
ss -o state established ‘( dport = :smtp or sport = :smtp )’ 顯示所有已建立的SMTP連接
ss -o state established ‘( dport = :http or sport = :http )’ 顯示所有已建立的HTTP連接
ss -x src /tmp/.X11-unix/* 找出所有連接X服務(wù)器的進程
ss -s 列出當(dāng)前socket詳細信息:
netstat 常見參數(shù)
a (all)顯示所有選項,默認不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協(xié)議進行統(tǒng)計
-c 每隔一個固定時間,執(zhí)行該netstat命令。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
netstat 實例
1 列出所有端口 (包括監(jiān)聽和未監(jiān)聽的)
# netstat -a2 列出所有 tcp 端口
# netstat -at3 列出所有 udp 端口
# netstat -au4 列出所有處于監(jiān)聽狀態(tài)的 Sockets
分別為all,tcp,udp,unix domain
5 顯示每個協(xié)議的統(tǒng)計信息
# netstat -sIp: 11150 total packets received 1 with invalid addresses 0 forwarded 0 incoming packets discarded 11149 incoming packets delivered 11635 requests sent outIcmp: 0 ICMP messages received 0 input ICMP message failed.Tcp: 582 active connections openings 2 failed connection attempts 25 connection resets receivedUdp: 1183 packets received 4 packets to unknown port received......顯示 TCP 或 UDP 端口的統(tǒng)計信息 netstat -st 或 -su
# netstat -st # netstat -su6 在 netstat 輸出中顯示 PID 和進程名稱 netstat -p
# netstat -ptIP和TCP分析
1 查看連接某服務(wù)端口最多的的IP地址
# netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20 18221.136.168.36 3154.74.45.242 278.173.31.236 262.183.207.98 2192.168.1.14 2182.48.111.215 2124.193.219.34 2119.145.41.2 2114.255.41.30 175.102.11.992 TCP各種狀態(tài)列表
# netstat -nat |awk '{print $6}' established) Foreign LISTEN TIME_WAIT ESTABLISHED TIME_WAIT SYN_SENT3 先把狀態(tài)全都取出來,然后使用uniq -c統(tǒng)計,之后再進行排序。
# netstat -nat |awk '{print $6}'|sort|uniq -c 143 ESTABLISHED 1 FIN_WAIT1 1 Foreign 1 LAST_ACK 36 LISTEN 6 SYN_SENT 113 TIME_WAIT 1 established)總結(jié)
以上是生活随笔為你收集整理的Linux网络相关命令:netstat,ss的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lin总线通信
- 下一篇: Android 新建module时的By