在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捕获流量。基础命令:
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地址、通信端口等关键信息,为网络故障排查、安全监控提供依据。