如何使用 grep 和 regx 语法在 pcap 文件中查找 IPV4 号码?

如何使用 grep 和 regx 语法在 pcap 文件中查找 IPV4 号码?

我是 ubuntu 新手。

我有这个 IP 正则表达式'\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b' ,我有一个网络 pcap 文件,我想使用这个正则表达式和 grep -e 来查找文件中的所有 IP 地址。

我试过:egrep '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' -f Ncapture.pcap

如何使用 grep 命令在网络 pcap 文件中查找 IP?

答案1

您的egrep命令对我有用,为了使工作grep -e仅转义控制字符,并使其仅打印 IP,请使用-ogrep 选项:

tcpdump -nr Ncapture.pcap | grep -oe '\(\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)\(\.\|$\)\)\{4\}'

但据我所知,这会在 IP 末尾打印一个点,如果您不喜欢这样,那么您必须单独添加最后一个八位字节,即:

tcpdump -nr Ncapture.pcap | grep -oe '\(\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)\(\.\|$\)\)\{3\}\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)'

要使其仅打印一次 IP:

tcpdump -nr Ncapture.pcap | grep -oe '\(\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)\(\.\|$\)\)\{3\}\(25[0-5]\|2[0-4][0-9]\|[01]\?[0-9][0-9]\?\)' | sort | uniq

相关内容