寻找一种方式,以确保一个字符串验证是有效的tcpdump的过滤器,例如 -tcpdump的 - 正则表达式做一个过滤器
host 192.168.254.36 and host 192.168.205.4
有没有一种方法来验证字符串?使用正则表达式或什么?
寻找一种方式,以确保一个字符串验证是有效的tcpdump的过滤器,例如 -tcpdump的 - 正则表达式做一个过滤器
host 192.168.254.36 and host 192.168.205.4
有没有一种方法来验证字符串?使用正则表达式或什么?
我只是猜测你正在寻找一个正则表达式为您的IP地址?:
'\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b'
有没有一种方法来验证字符串?
是的,有。我认为最简单的方法是运行tcpdump -d
并让tcpdump
为您验证捕获过滤器。有关更多详细信息,请参阅tcpdump
man page。
如果你不关心数据包匹配BPF代码本身,您可以将输出简单地重定向到/dev/null
,只是看看返回代码,例如:
有效的捕获过滤器:
tcpdump -i eth0 -d icmp &> /dev/null
echo $?
0
无效捕获过滤器:
tcpdump -i eth0 -d foo &> /dev/null
echo $?
1
我还要注意dumpcap
支持-d
选项以及。
感谢您的回答。事情是,过滤器可能是除ip之外的很多其他东西,还有端口等。 –