tshark是wireshark
網絡分析工具下的一個分支,主要用於命令行環境進行抓包、分析,尤爲對協議深層解析時,tcpdump
難以勝任的場景中。本系列文章將整理介紹tshark相關內容。html
tshark -v
tshark -D
網卡描述依據OS有不一樣的編號方式,在不瞭解網絡設備及編號狀況下,通常先用「tshark -D」查看網絡接口的編號以供-i參數使用。
注: linux能夠結合ifconfig命令查看
sudo tshark -i <interface>
tshark -i eth0 -w capture123.pcap
tshark -i eth0 -r capture123.pcap
tshark -i eth0 -a duration:600
注: 默認時間單位爲秒mysql
tshark -c 10000 -i eth0
tshark -i eth0 -f 「host 192.168.1.1」
注: 與wireshark、tcpdump一致,均使用BPF過濾表達式
tshark -i eth0 -f 「<協議名>」
協議名能夠爲: tcp, udp, dns, icmp, http等
tshark -s 512 -i eth1 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
說明:linux
tshark -s 512 -i eth1 -n -f 'tcp dst port 8000' -R 'http.host and http.request.uri' -T fields -e http.host -e http.request.uri -l | tr -d 't'
說明:sql
須要從抓包的文件evidence04.pcap中提取出報文相關數據信息,如時間、源IP、目的IP、協議名、源Port、標Port、包大小等信息,最後輸出到csv文件。shell
tshark -r evidence.pcap -T fields -e frame.time_relative -e ip.src -e ip.dst -e ip.proto -e tcp.srcport -e tcp.dstport -e frame.len -E header=n -E separator=, -E quote=n -E occurrence=f > output.csv
說明:json
使用tshark過濾dns cap包中源ip、目的ip、request請求segmentfault
tshark -r test.cap -T fields -e frame.time -e ip.src -e ip.dst -e dns.qry.name -R 'udp.dstport==53 || dns'
說明:網絡
tshark -r 20190409.pcap -f 'udp' -w udp-20190409.pcap
讀取文件時只能使用顯示過濾,也就是隻能使用-Y
或-2 -R
過濾tcp
tshark -r 20190409.pcap -R 'udp' -w udp-20190409.pcap
顯示過濾-R
參數須要和-2
一塊兒使用,或使用-Y
ide
參考:
系列文章: