標籤:tcp 監聽 csdn local app i++ func timeout fragment
巧用Netstat排除網路故障chszs,未經博主允許不得轉載。經許可的轉載需註明作者和部落客頁:http://blog.csdn.net/chszs
當在Linux伺服器上遇到網路故障時,ping和traceroute是常用的兩個命令,但是很多時候你需要瞭解更多的網路細節才有助於解決問題。要實現這一點,可以使用netstat命令,它可以提供網路通訊端的詳細資料以及其它有用的資訊。與ping和traceroute命令一樣,可以簡單地在命令列使用netstat並立即擷取結果。
一、什麼是Netstat
netstat命令是處理網路問題的一個非常有用的工具。netstat是“Network Statistics”即網路統計的縮寫,它可以顯示傳入和傳出的網路連接,還可以用於擷取網路統計資訊、協議統計資訊、路由表資訊等。
我們可以使用netstat來尋找網路問題並測量網路流量,因此可以用它收集網路的中斷、降速或網路瓶頸。
二、基本的Netstat
要擷取當前所有串連的一個列表,只需使用-a選項。
# netstat -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:1922 *:* LISTEN tcp 0 216 chdc154:1922 223.99.111.233:11303 ESTABLISHEDtcp6 0 0 [::]:9000 [::]:* LISTEN tcp6 0 0 [::]:8009 [::]:* LISTEN tcp6 0 0 [::]:mysql [::]:* LISTEN tcp6 0 0 [::]:1922 [::]:* LISTEN tcp6 0 0 [::]:9090 [::]:* LISTEN tcp6 0 0 localhost:8005 [::]:* LISTEN ......
它提供了一些對於不同類型的協議(比如TCP和UDP)等的串連的基本資料,以及活躍的Unix域通訊端資訊。但是,natstat還允許使用者擷取更具體的資訊,以便對調試更有協助。
三、按連線類型過濾
基於連線類型對結果進行過濾有助於找到所需的資訊。比如,你想查看TCP串連,那麼可以在上面的-a選項後緊跟一個t選項,具體如下:
# netstat -aActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:1922 *:* LISTEN tcp 0 216 chdc154:1922 223.99.111.233:11303 ESTABLISHEDtcp6 0 0 [::]:9000 [::]:* LISTEN tcp6 0 0 [::]:8009 [::]:* LISTEN ......
相似的,如果在-a選項後緊跟u選項,則值列出UDP串連。
四、按監聽串連進行過濾
如果想要查看正在監聽的串連,那麼可以使用-l選項(移除-a選項),比如:
# netstat -lActive Internet connections (only servers)......Active UNIX domain sockets (only servers)Proto RefCnt Flags Type State I-Node Pathunix 2 [ ACC ] STREAM LISTENING 47834116 /run/systemd/privateunix 2 [ ACC ] STREAM LISTENING 1661287 /run/user/0/systemd/privateunix 2 [ ACC ] SEQPACKET LISTENING 15450 /run/udev/controlunix 2 [ ACC ] STREAM LISTENING 96528873 /run/snapd-snap.socketunix 2 [ ACC ] STREAM LISTENING 10581 /var/lib/lxd/unix.socketunix 2 [ ACC ] STREAM LISTENING 10578 /run/uuidd/requestunix 2 [ ACC ] STREAM LISTENING 10582 /run/acpid.socket......
與-a選項相似,-l選項緊跟t選項,即-lt選項,表示查看正在監聽的TCP串連;-lu表示查看正在監聽的TCP串連。使用這種方式,可以輕鬆查看指定連接埠是否開啟和監聽,並確定網站應用程式或APP是否按預期方式運行。
五、查看網路統計資訊
# netstat -sIp: 1473970908 total packets received 17795365 with invalid addresses 0 forwarded 0 incoming packets discarded 1453512118 incoming packets delivered 2392531460 requests sent out 40 outgoing packets dropped 3 fragments dropped after timeout 48 reassemblies required 15 packets reassembled ok 3 packet reassembles failedIcmp: 3589646 ICMP messages received 37 input ICMP message failed. ICMP input histogram: destination unreachable: 178 timeout in transit: 18 echo requests: 3589445 echo replies: 5......
如你所見,-s選項提供了一些在調試時可能有用的統計資訊,例如總數,傳入和傳出資料包以及收到,發送和失敗的ICMP訊息。
巧用Netstat排除網路故障