Linux中Netstat命令最常用的五個(gè)用法
當(dāng)涉及到網(wǎng)絡(luò)故障排除和網(wǎng)絡(luò)連接監(jiān)控時(shí),netstat命令是Linux系統(tǒng)中一個(gè)非常常用的工具。netstat命令用于顯示與網(wǎng)絡(luò)相關(guān)的統(tǒng)計(jì)數(shù)據(jù)以及網(wǎng)絡(luò)連接信息。無(wú)論是檢查網(wǎng)絡(luò)連接狀態(tài)、監(jiān)視網(wǎng)絡(luò)接口還是查找網(wǎng)絡(luò)服務(wù)的使用情況,netstat命令都能提供有用的信息。在本文中,我將介紹netstat命令的五個(gè)常用用法,并提供相應(yīng)的代碼和輸出。
請(qǐng)注意,下面的示例基于Linux系統(tǒng)。
1. 顯示所有活動(dòng)的網(wǎng)絡(luò)連接
netstat命令可以顯示當(dāng)前系統(tǒng)上所有活動(dòng)的網(wǎng)絡(luò)連接。使用以下命令:
netstat -a
輸出示例:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.10:80 192.168.0.20:54321 ESTABLISHED
tcp 0 0 192.168.0.10:443 192.168.0.30:12345 TIME_WAIT
在輸出中,"Local Address"列顯示本地地址和端口,"Foreign Address"列顯示遠(yuǎn)程地址和端口,"State"列顯示連接狀態(tài)。
2. 顯示監(jiān)聽狀態(tài)的網(wǎng)絡(luò)連接
使用-l選項(xiàng),netstat命令可以顯示當(dāng)前系統(tǒng)上處于監(jiān)聽狀態(tài)的網(wǎng)絡(luò)連接,即正在等待其他計(jì)算機(jī)的連接請(qǐng)求。
netstat -l
輸出示例:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
在輸出中,"Local Address"列顯示正在監(jiān)聽的本地地址和端口,"State"列顯示"LISTEN"表示處于監(jiān)聽狀態(tài)。
3. 顯示網(wǎng)絡(luò)接口統(tǒng)計(jì)信息
使用-i選項(xiàng),netstat命令可以顯示系統(tǒng)上所有網(wǎng)絡(luò)接口的統(tǒng)計(jì)信息,包括收發(fā)數(shù)據(jù)包數(shù)量、錯(cuò)誤數(shù)量等。
netstat -i
輸出示例:
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 1000 0 0 0 500 0 0 0 BMRU
lo 65536 500 0 0 0 500 0 0 0 LRU
在輸出中,"RX-OK"表示成功接收的數(shù)據(jù)包數(shù)量,"TX-OK"表示成功發(fā)送的數(shù)據(jù)包數(shù)量。
4. 顯示網(wǎng)絡(luò)連接的路由表
netstat命令可以顯示系統(tǒng)上的網(wǎng)絡(luò)連接路由表,即顯示數(shù)據(jù)包如何從源地址到目標(biāo)地址進(jìn)行路由。
netstat -r
輸出示例:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
在輸出中,"Destination"列顯示目標(biāo)地址,"Gateway"列顯示網(wǎng)關(guān)地址,"Flags"列顯示路由標(biāo)志。
5. 顯示網(wǎng)絡(luò)連接的進(jìn)程ID和進(jìn)程名稱
使用-p選項(xiàng),netstat命令可以顯示與網(wǎng)絡(luò)連接相關(guān)的進(jìn)程ID和進(jìn)程名稱。
netstat -p
輸出示例:
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.0.10:54321 192.168.0.20:80 ESTABLISHED 1234/apache2
tcp 0 0 192.168.0.10:12345 192.168.0.30:443 TIME_WAIT -
在輸出中,"PID/Program name"列顯示與網(wǎng)絡(luò)連接關(guān)聯(lián)的進(jìn)程ID和進(jìn)程名稱。
以上是netstat命令的五個(gè)常用用法。通過這些用法,您可以了解當(dāng)前系統(tǒng)上的網(wǎng)絡(luò)連接狀態(tài)、監(jiān)聽狀態(tài)、網(wǎng)絡(luò)接口統(tǒng)計(jì)信息、路由表以及與網(wǎng)絡(luò)連接相關(guān)的進(jìn)程信息。這些信息對(duì)于故障排除、網(wǎng)絡(luò)監(jiān)控和性能優(yōu)化都非常有用。