當涉及到網絡故障排除和網絡連接監控時?.NETstat命令是linux系統中一個非常常用的工具。netstat命令用于顯示與網絡相關的統計數據以及網絡連接信息。無論是檢查網絡連接狀態、監視網絡接口還是查找網絡服務的使用情況,netstat命令都能提供有用的信息。在本文中,我將介紹netstat命令的五個常用用法,并提供相應的代碼和輸出。
請注意,下面的示例基于Linux系統。
1. 顯示所有活動的網絡連接
netstat命令可以顯示當前系統上所有活動的網絡連接。使用以下命令:
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"列顯示遠程地址和端口,"State"列顯示連接狀態。
2. 顯示監聽狀態的網絡連接
使用-l選項,netstat命令可以顯示當前系統上處于監聽狀態的網絡連接,即正在等待其他計算機的連接請求。
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"列顯示正在監聽的本地地址和端口,"State"列顯示"LISTEN"表示處于監聽狀態。
3. 顯示網絡接口統計信息
使用-i選項,netstat命令可以顯示系統上所有網絡接口的統計信息,包括收發數據包數量、錯誤數量等。
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"表示成功接收的數據包數量,"TX-OK"表示成功發送的數據包數量。
4. 顯示網絡連接的路由表
netstat命令可以顯示系統上的網絡連接路由表,即顯示數據包如何從源地址到目標地址進行路由。
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"列顯示目標地址,"Gateway"列顯示網關地址,"Flags"列顯示路由標志。
5. 顯示網絡連接的進程ID和進程名稱
使用-p選項,netstat命令可以顯示與網絡連接相關的進程ID和進程名稱。
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"列顯示與網絡連接關聯的進程ID和進程名稱。
以上是netstat命令的五個常用用法。通過這些用法,您可以了解當前系統上的網絡連接狀態、監聽狀態、網絡接口統計信息、路由表以及與網絡連接相關的進程信息。這些信息對于故障排除、網絡監控和性能優化都非常有用。