📅  最后修改于: 2023-12-03 15:40:21.086000             🧑  作者: Mango
Tcpdump 是一款在 Linux 系统上常用的网络抓包工具,可以捕获网络数据包并分析其内容,对于程序员而言是非常有用的。在抓包时,我们可以使用 tcpdump 提供的选项来获取特定信息,如唯一的 IP 地址。
要获取来自 tcpdump 的唯一的 IP 地址,我们可以使用以下命令:
sudo tcpdump -n | awk '{print $3}' | awk -F '.' '{print $1"."$2"."$3"."$4}' | sort -u
该命令的执行过程如下:
使用 sudo tcpdump -n
指令,以 root 用户身份启动 tcpdump,并监控所有网络接口。
使用 awk '{print $3}'
指令,提取 tcpdump 抓取的数据包中的目标 IP 地址,并输出到标准输出中。
使用 awk -F '.' '{print $1"."$2"."$3"."$4}'
指令,将每个 IP 地址的最后一部分(即子网掩码)删除,仅保留前三部分,即唯一的网络地址,同时将其输出到标准输出中。
使用 sort -u
指令,按照地址大小排序,并去重输出唯一的地址。
执行完成后,我们会得到如下格式的输出:
192.168.1.1
192.168.1.2
192.168.1.3
通过这种方式,我们可以方便地获取 tcpdump 捕获的网络数据包中的唯一 IP 地址。对于网络调试和调优过程中的问题定位和分析,都非常有帮助。