Linux 系統(tǒng)的 netstat 命令是查看網(wǎng)絡(luò)連接、路由表和接口狀態(tài)的實(shí)用工具。它并非直接用于精確統(tǒng)計(jì)網(wǎng)絡(luò)流量,但結(jié)合其他命令可以實(shí)現(xiàn)流量監(jiān)控。以下方法利用 netstat 獲取部分網(wǎng)絡(luò)信息:
1. 查看網(wǎng)絡(luò)接口信息:
使用 -i 選項(xiàng)查看所有網(wǎng)絡(luò)接口的統(tǒng)計(jì)信息,包括接收和發(fā)送的數(shù)據(jù)包數(shù)量:
netstat -i
要查看特定接口(例如 eth0)的信息,可以使用 grep 命令過(guò)濾結(jié)果:
netstat -i | grep eth0
請(qǐng)注意: netstat -i 提供的數(shù)據(jù)包數(shù)量,并非直接的流量大?。ㄗ止?jié)數(shù))。 要獲得更精確的流量信息,建議使用 ifconfig 或 ip 命令。
2. 查看 TCP 連接:
使用 -n 和 -t 選項(xiàng)查看所有活動(dòng)的 TCP 連接及其狀態(tài):
netstat -nt
要查看特定端口(例如 80 端口)的連接數(shù)量,同樣使用 grep 命令:
netstat -nt | grep :80
3. 查看 udp 連接:
使用 -n 和 -u 選項(xiàng)查看所有活動(dòng)的 UDP 連接:
netstat -un
類(lèi)似地,查看特定端口(例如 123 端口)的連接數(shù)量:
netstat -un | grep :123
4. 查看路由表:
使用 -r 選項(xiàng)查看路由表信息:
netstat -r
查看特定路由(例如 192.168.1.0/24)的信息:
netstat -r | grep '192.168.1.0/24'
重要提示: netstat 在許多現(xiàn)代 Linux 發(fā)行版中已被 ss 命令取代,ss 命令提供更全面的網(wǎng)絡(luò)信息,并且性能更好。 建議使用 ss 命令代替 netstat 進(jìn)行網(wǎng)絡(luò)監(jiān)控。 netstat 的安裝方法因發(fā)行版而異,例如在 Debian/Ubuntu 系統(tǒng)中,可以使用 sudo apt-get install net-tools 安裝。
為了更精確地監(jiān)控網(wǎng)絡(luò)流量,建議使用 ifstat、vnstat 或 tcpdump 等工具。 這些工具能夠提供更詳細(xì)的流量統(tǒng)計(jì)信息,例如每秒的流量速率等。