简单使用 tshark 命令形的 wireshark tcpdump
命令形的 wireshark,有同 tcpdump
1 |
man tshark |
捕包樹狀解析
1 |
tshark -V |
十六進制,ASCII 解析
1 |
tshark -x |
指定界面,保留檔名
1 |
tshark -i <界面> -w <檔名> |
指定界面,保留檔名,指定重覆保留最大檔數量,停止捕包大小(有 -b 就有 -a?)
1 |
tshark -i <界面> -w <檔名> -b <保留檔數量> -a filesize:<捕包大小> |
讀檔,顯示過濾條件,存檔
1 |
tshark -r <讀檔名> -w <存檔名> -R <過碌條件> |
例:顯示過濾所有包 1/8/2010 22:00 至 1/8/2010 23:00,存至新檔
1 |
tshark -r <讀檔名> -w <存檔名> -R '(frame.time >= "Jan 8, 2010 22:00:00.00" ) && (frame.time <= "Jan 8, 2010 23:00:00.00")' |
捕捉過碌
1 |
tshark -i eth1 -f icmp |
捕捉過碌,ICMP 第零個 byte 是 Type
1 |
tshark -i eth1 -f 'icmp[0] == 0 or icmp[0] == 8' |
也可
1 |
tshark -i eth1 icmp[0] == 8 |
1 |
tshark -f icmp -i eth1 icmp[0] == 8 |
Unix 系統有時要加 '
1 |
tshark -i eth1 'icmp[0] == 0 || icmp[0] == 8' |
使用顯示過碌讀存檔
1 |
tshark -r bgp.pcap.gz -R "bgp.type == 2" |
樹狀,十六進位,ASCII
1 |
tshark -V -x |
界面大大,寫入 output 檔,檔最大 5 kilobytes,重覆保留最大數量十檔
1 |
tshark -i 大大 -a filesize:5 -b 10 -w output |
捕抓過碌除了 tcp 端口 80
1 |
tshark -f "tcp port !80" |
讀檔並讀取過碌 telnet
1 |
tshark -r 檔 -R "telnet" |
讀檔寫成 Nwork Monitor 2.x 格式檔
1 |
tshark -r 檔 -w netmon_output -F netmon2 |
統計封包,字節
1 |
tshark -z io,phs |
統計 TCP 交談
1 |
tshark -z conv,tcp |
統計 IP 地址 192.168.100.100 的封包,字節
1 |
tshark -z io,phps,ip.addr==192.168.100.100 #-z io.phs[,filter] |
以一秒間隔統計封包,字節
1 |
-z io,stat,interval[,filter][,filter][,filter]... |
以一秒間隔統計 IP 地址 192.168.1.10 的封包,字節
1 |
tshark -z io,stat,1,ip.addr==192.168.1.10 |
以零點零零一秒統計 IP 地址 192.168.1.10 的 HTTP 封包
1 |
tshark -z io,stat,0.001, "http&&ip.addr==192.168.1.10" |
以零點零一秒統計 Server Message Block 的封包平均時間
1 |
tshark -z "io,stat,0.010,AVG(smb.time)smb.time" |
以零點零一秒統計 HTTP 要求封包總計
1 |
tshark -z "io,stat,0.010,COUNT(http.request)http.request" |
以零點零一秒統計個封包字節總數
1 |
tshark -z "io,stat,0.010,SUM(frame.pkt_len)frame.pkt_len" |
以零點零一秒統計 IP 地址 192.168.1.100 的 Server Messege Block 封包
四行顯示:封包和字節的統計,最小,最大,平均回應時間
1 |
tshark -z "io.stat,0.010,smb.time&&ip.addr==192.168.1.100,MIN(smb.time)smb.time&&ip.addr==192.168.1.100,MAX(smb.time)smb.time&&ip.addr==192.168.1.100,AVG(smb.time)smb.time&&ip.addr==192.168.1.100" |
建表格列全部通訊
1 |
-z conv, type [,filter] |
統計 IP 地址 192.168.1.100 全部 IP 协議通訊
1 |
tshark -z conv,ip,ip.addr==192.168.1.100 |
加协議信息組至顯示(field 值一定要在 filter 欄位)
1 |
-z proto,colinfo,filter,field |
過碌有 TCP 协議長度,多顯示 TCP 协議長度
1 |
tshark -z proto,colinfo,tcp.len,tcp.len |
過碌出有 TCP 协議長度並是 IP 來源 192.168.1.10,多顯示 TCP 协議長度
1 |
tshark -z proto,colinfo, "tcp.len&&ip.src==192.168.1.10" ,tcp.len |
統計 Remote Procedure Call 的 Response Time Test 信息,個程序,MinRTT, MaxRTT, AvgRTT
1 |
-z rpc,rtt,program,version[,filter] |
統計 Network File System (NFS) v3 信息
1 |
tshark -z rpc,rtt,100003,3 |
統計指定檔的 NFS v3 RTT 信息
1 |
tshark -z rpc,rtt,100003,3,nfs.fh. hash ==0x12345678 |
統計 ONC-RPC 的 RTT 信息,個协議並版本,MinRTT, MaxRTT, AvgRTT
1 |
-z rpc,programs |
捕抓界面一封包把 HTTP(讀取過碌)寫至 capture_http
1 |
tshark -i 1 -w capture_http -R http |
捕抓除了 IP 地址 192.168.129.201 的封包(讀取過碌)寫至 capture_filter
1 |
tshark -w capture_filter -R "ip.dst ne 192.168.129.201" |
捕抓封包六十秒,不包含封包計算寫入 capture_duration
1 |
tshark -q -w capture_duration -a duration:60 |
捕抓封包同時顯示在影幕使用 snoop 格式寫入 capture_snoop 檔
1 |
tshark -S -w capture_snoop -F snoop |
讀取 ethereal_capture 檔簡易顯示至影幕
1 |
tshark -r ethereal_capture |
作者解說 tshark 和 wireshark 指令很相同,但 wireshark 有 -k(必需和 -i 一起用),是馬上捕抓???但不懂,下了指令就馬上了啊
Ethereal Packet Sniffing, Angela Orebaugh