在Linux系統中,tcpdump(命令行工具)和Wireshark(圖形化工具)是識別網絡設備的核心工具。安裝步驟如下:
sudo apt-get update && sudo apt-get install tcpdump;sudo yum install tcpdump;sudo dnf install tcpdump。sudo apt-get install wireshark;sudo yum install wireshark(需允許非root用戶捕獲數據包,運行sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap)。網絡嗅探的第一步是明確主機上的網絡接口(如以太網、無線網卡),這些接口是捕獲流量的入口。常用方法:
ip link show:顯示所有網絡接口及其狀態(UP表示啟用),例如:$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
上述輸出中,eth0(有線接口,狀態UP)、wlan0(無線接口,狀態DOWN)是可用的網絡設備。ifconfig(傳統工具,部分系統需安裝net-tools):功能類似ip link show,但更直觀。eth0、wlan0),并標注其狀態(Up/Down)。選擇目標接口(如eth0),使用tcpdump捕獲流量?;A命令:
sudo tcpdump -i eth0
-i eth0:指定監聽的接口(需替換為實際接口名);-w參數:sudo tcpdump -i eth0 -w capture.pcap
捕獲的.pcap文件可用Wireshark打開。捕獲的流量通常包含大量無關數據,需通過過濾規則提取關鍵信息,識別網絡設備:
ether關鍵字過濾:sudo tcpdump -i eth0 ether host aa:bb:cc:dd:ee:ff
上述命令僅顯示與指定MAC地址(aa:bb:cc:dd:ee:ff)相關的流量,從而識別該設備的網絡活動。192.168.1.1),可通過ip關鍵字過濾:sudo tcpdump -i eth0 ip host 192.168.1.1
此命令顯示與指定IP地址相關的所有流量(包括源/目的IP、端口等),幫助識別該設備的通信行為。port關鍵字過濾:sudo tcpdump -i eth0 port 80
該命令顯示所有HTTP流量,若某設備頻繁訪問80端口,可能為Web服務器或瀏覽器。eth0接口上192.168.1.0/24網段內、端口為22的SSH流量:sudo tcpdump -i eth0 net 192.168.1.0/24 port 22
組合過濾可快速定位特定設備的服務或通信模式。若需更直觀地查看設備信息(如MAC地址、廠商、通信協議),可使用Wireshark打開.pcap文件:
.pcap文件;src: aa:bb:cc:dd:ee:ff)和目的MAC地址;src: 192.168.1.100)和目的IP地址;src port: 54321、dst port: 80)。通過以上步驟,可利用Linux Sniffer工具識別網絡中的設備,獲取其MAC地址、IP地址、通信端口等關鍵信息,為網絡故障排查、安全監控提供依據。