尋找一種方式,以確保一個字符串驗證是有效的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之外的很多其他東西,還有端口等。 –