Networking
如何使用 tshark 來完成這個任務
我對 tshark 沒有任何基礎知識,而且很難找到任何教程來幫助我。
所以現在我有一個包含很多網路流的 pcap 文件;時間範圍;一個IP地址;一個 TCP 埠號;ip addr 發送的數據包數量或 ip addr 接收的數據包數量。
我要做的是,首先我讓tshark從那個pcap文件中讀取,然後使用時間範圍過濾掉該時間範圍內的所有網路流,然後使用ip addr過濾掉所有網路從那個 ip addr 流到那個已經按時間過濾的流上,然後使用 tcp 埠號和 ip addr 發送/接收的數據包數來最終找到我想要的流。然後按照這個流程/流並將整個對話保存到一個新的 pcap 文件中。
任何人都可以幫忙嗎?我將非常感激。
我想要做的是,首先我讓 tshark 從那個 pcap 文件中讀取,然後使用時間範圍過濾掉該時間範圍內的所有網路流
你應該這樣做
editcap
:$ editcap -A "2011-07-12 09:49:16" -B "2011-07-12 09:49:20" in.pcap out.pcap
然後使用 ip addr 過濾掉該 ip addr 中的所有網路流,然後使用 tcp 埠號和 ip addr 發送/接收的數據包數,最終定位到我想要的流。
$ tshark -r out.pcap -R "ip.addr == $IP && tcp.port == $PORT"
然後按照這個流程/流
$ tshark -r out.pcap -R "ip.addr == $IP && tcp.port == $PORT" \ -T fields -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport | \ while read line; do tshark -r out.pcap \ -R "ip.addr == `echo $line | awk '{ print $1 }'` && \ tcp.port == `echo $line | awk '{ print $2 }'` && \ ip.addr == `echo $line | awk '{ print $3 }'` && \ tcp.port == `echo $line | awk '{ print $4 }'`" \ echo \ done