我是 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,请使用-o
grep 选项:
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