Ubuntu Sniffer監控網絡活動的常用方法
在Ubuntu系統中,監控網絡活動可通過命令行工具(適合服務器環境)或圖形化工具(適合桌面用戶)實現,以下是具體步驟及工具介紹:
監控前需安裝對應工具,Ubuntu通過apt
包管理器即可完成安裝:
sudo apt update && sudo apt install tcpdump
sudo apt install wireshark
# 安裝時需勾選“Allow non-superusers to capture packets”以允許普通用戶捕獲流量
sudo apt install iftop
sudo apt install nload
sudo apt install vnstat
sudo systemctl start vnstat && sudo systemctl enable vnstat # 啟動服務
使用tcpdump
捕獲所有網絡接口的數據包(需sudo
權限):
sudo tcpdump -i any
-i eth0
:指定監控eth0
接口(替換為你的接口名,可通過ip a
查看);-n
:禁用域名解析(提升速度);-a
:以ASCII格式顯示數據包內容(便于查看明文信息)。若只需監控某個接口(如eth0
),直接指定接口名:
sudo tcpdump -i eth0
或使用iftop
(更直觀,顯示實時帶寬、連接IP及端口):
sudo iftop -i eth0
-P
:顯示端口號(便于識別服務);-N
:禁用主機名解析(減少延遲)。將捕獲的數據包保存為.pcap
文件(Wireshark兼容格式),便于離線分析:
sudo tcpdump -i eth0 -w capture.pcap
Ctrl+C
。tcpdump
或Wireshark
打開:tcpdump -r capture.pcap # 命令行查看
wireshark capture.pcap # 圖形化查看
通過**BPF(Berkeley Packet Filter)**語法過濾,減少無關流量,提升監控效率:
sudo tcpdump -i eth0 port 80
192.168.1.100
):sudo tcpdump -i eth0 host 192.168.1.100
sudo tcpdump -i eth0 udp port 53 # DNS查詢
sudo tcpdump -i eth0 tcp port 21 # FTP控制連接
192.168.1.100
的HTTP流量):sudo tcpdump -i eth0 host 192.168.1.100 and port 80
打開Wireshark后,選擇要監控的接口(如eth0
),點擊“Start”即可捕獲流量。
http
、tcp.port == 80
);運行sudo iftop -i eth0
,界面會顯示:
運行nload
,默認顯示所有網絡接口的:
sudo
權限(如tcpdump
、iftop
),避免普通用戶誤操作;.pcap
文件需專業知識解讀(如TCP標志位、HTTP請求響應流程),新手可從Wireshark的“Statistics”菜單入手。