问题描述
tcpdump -nei eth0 and src 10.10.10.1
上述命令的样本输出。由于输出很大,因此我将其发布在下面的链接中。
https://pastebin.pl/view/3b6ab16d
我尝试过的命令
tcpdump -nei eth0 and src 10.10.10.1 | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
tcpdump -nei eth0 and src 10.10.10.1 | awk '{sub(/^.*> /,"",$0); sub(/:.*$/,$0); sub(/\.[^\.][^\.]*$/,$0); print $0}'
我希望输出像
140.345.12.45
140.345.12.45
140.345.12.45
140.345.12.45
140.345.12.45
140.345.12.45
仅IP地址。有人请帮我.. T.I.A
解决方法
根据显示的示例,您可以尝试以下操作。经过测试并在链接https://ideone.com/ocWd19
中编写awk '
match($0,/> ([0-9]+\.){3}[0-9]+/){
print substr($0,RSTART+2,RLENGTH-2)
}' Input_file