Loading... # 使用tcpdump抓包 对整个网卡进行抓包, tcp协议 指定 bond12 网卡 -w 写入到指定文件 ./dump1.cap 中 ```sh tcpdump tcp -i bond12 -w ./dump1.cap ``` 例子:抓取网卡eht0 及ip是192.168.168.18 和端口8081 ```sh tcpdump -i eht0 -w file.cap host 192.168.168.18 and tcp port 8081 -w :参数指定将监听到的数据包写入文件中保存,file.cap就是该文件。 -i :参数指定tcpdump监听的网卡。 ``` * **抓取指定接口(网卡)的数据包:** ```bash tcpdump -i <interface> ``` * `-i <interface>`:指定要抓取数据包的网络接口,如 eth0、wlan0 等。 * **保存抓取到的数据包到文件:** ```bash tcpdump -i <interface> -w <filename> ``` * `-w <filename>`:将抓取到的数据包保存到指定的文件中。 * **只抓取指定源或目标 IP 地址的数据包:** ```bash # 抓取指定网络接口上的数据包并只保存源IP或目的IP为192.168.1.1的数据包: tcpdump -i <interface> host 192.168.1.1 tcpdump -i <interface> src <source_IP> tcpdump -i <interface> dst <destination_IP> or tcpdump -i <interface> src host <source_IP> -w <filename> tcpdump -i <interface> dst host <destination_IP> -w <filename> ``` * `src <source_IP>`:只抓取源 IP 地址为 `<source_IP>` 的数据包。 * `dst <destination_IP>`:只抓取目标 IP 地址为 `<destination_IP>` 的数据包。 * **只抓取指定端口的数据包:** ```bash tcpdump -i <interface> port <port_number> ``` * `port <port_number>`:只抓取目标端口或源端口为 `<port_number>` 的数据包。 * **显示数据包的十六进制内容:** ```bash tcpdump -i <interface> -XX ``` * `-XX`:以十六进制和 ASCII 字符的形式显示数据包的内容。 * **限制抓取的数据包数量:** ```bash tcpdump -i <interface> -c <count> ``` * `-c <count>`:指定抓取的数据包数量,达到指定数量后 tcpdump 将自动停止。 * **过滤特定协议的数据包:** ```bash tcpdump -i <interface> <protocol> ``` * `<protocol>`:可以是 tcp、udp、icmp 等协议名称,只抓取指定协议类型的数据包。 * **显示抓取的数据包的详细信息:** ```bash tcpdump -i <interface> -v ``` * `-v`:以详细模式显示抓取的数据包,包括源/目标 IP、端口、协议等信息。 注意: * `-i` 参数用于指定网络接口。 * `-w` 参数用于将抓取的数据包保存到文件。 * `-c` 参数用于指定抓取数据包的数量。 * `-n` 参数用于指示tcpdump不解析主机名。 * `-q` 参数用于指示tcpdump减少输出信息。 * `port` 参数用于指定抓取的端口。 * `host` 参数用于指定抓取的主机。 * `tcp` 参数用于指定只抓取TCP协议的数据包。 以上就是使用tcpdump抓包的一些常见示例。 最后修改:2024 年 07 月 18 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有帮助到你,请随意赞赏
1 条评论
平淡中见真章,质朴处显功力。