2017-04-03 213 views

回答

0

我只是猜測你正在尋找一個正則表達式爲您的IP地址?:

'\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b' 
+0

感謝您的回答。事情是,過濾器可能是除ip之外的很多其他東西,還有端口等。 –

1

有沒有一種方法來驗證字符串?

是的,有。我認爲最簡單的方法是運行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選項以及。