数据抓包-tcpdump

 2022-08-18    0 条评论    29028 浏览

shell

tcpdump抓包命令

telnet只能发送嗅探TCP端口,无法嗅探UDP

当想知道发送UDP数据是否成功,或者对应UDP数据是否接收到,可以使用抓包命令。

抓取回环127的UDP端口数据

命令

tcpdump -i lo udp port 514

测试

发送UDP数据命令
echo "123456789" > /dev/udp/127.0.0.1/514
监听结果
[root@VM-24-13-centos ~]# tcpdump -i lo udp port 514
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
19:25:20.622982 IP VM-24-13-centos.60601 > VM-24-13-centos.syslog: [|syslog]
19:25:21.402425 IP VM-24-13-centos.46945 > VM-24-13-centos.syslog: [|syslog]
19:25:30.672116 IP VM-24-13-centos.32803 > VM-24-13-centos.syslog: [|syslog]
19:25:31.117371 IP VM-24-13-centos.51757 > VM-24-13-centos.syslog: [|syslog]

监听外网端口数据

命令

# eth0为网卡
tcpdump -i eth0 -nn -s0 -v port 500

测试

发送UDP数据命令
echo "123456789" > /dev/udp/101.42.201.62/514

测试结果

[root@VM-24-13-centos ~]# tcpdump -i eth0 -nn -s0 -v port 500
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
19:59:05.663438 IP (tos 0x0, ttl 64, id 14400, offset 0, flags [DF], proto UDP (17), length 38)
    10.0.24.13.39172 > 101.42.230.62.500: [|isakmp]
19:59:05.663865 IP (tos 0x0, ttl 63, id 14400, offset 0, flags [DF], proto UDP (17), length 38)
    101.42.230.62.39172 > 10.0.24.13.500: [|isakmp]
注意

在本机使用echo方式模拟外网IP发送,将会在本机监听到两条UDP数据。

参数说明

  • -i : 选择要捕获的接口,通常是以太网卡或无线网卡,也可以是 vlan 或其他特殊接口。如果该系统上只有一个网络接口,则无需指定。
  • -nn : 单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度。
  • -s0 : tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,可以使用 -s number, number 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。
  • -v : 使用 -v,-vv 和 -vvv 来显示更多的详细信息,通常会显示更多与特定协议相关的信息。
  • port 80 : 这是一个常见的端口过滤器,表示仅抓取 80 端口上的流量,通常是 HTTP。