tshark、tcpdump命令行分析工具对比(1)

在学习各种GUI工具分析数据包过程中,接触了两个很好用的命令行分析工具。有时候使用命令行分析工具更方便,特别是可以使用管道筛选。我通常情况下在windows系统中使用tshark,在unix系统中使用tcpdump。这边在实际使用中对比这两个工具。

1、安装

  • tshark
    在安装wireshark的时候,也同步安装了tshark,是可以勾选的,一般在默认情况下都是安装的。而默认的安装路径为C:\Program Files\Wireshark,可以以下操作确认。
C:\Users\25725>cd "C:\Program Files\Wireshark"

C:\Program Files\Wireshark>tshark -v
TShark (Wireshark) 3.2.2 (v3.2.2-0-ga3efece3d640)

-h可以看tshark的功能。

  • tcpdump
    这个工具一般使用在unix、linux系统中,笔者使用macos也可以使用。安装方法:
 sudo apt-get install tcpdump

macos:

  brew install tcpdump

安装完成之后可以-h查看使用功能:

➜  ~ tcpdump -h
tcpdump version tcpdump version 4.9.2 -- Apple version 83.200.2
libpcap version 1.8.1 -- Apple version 79.250.1
LibreSSL 2.2.7
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
        [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
        [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
        [ -Q in|out|inout ]
        [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
        [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
        [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
[ -g ] [ -k ] [ -o ] [ -P ] [ -Q met[ --time-zone-offset offset ]
        [ -Z user ] [ expression ]

也可以使用man tcpdump,查看工具所有命令。

2、捕获保存数据

  • tshark

首先需要确认网卡,一般使用-D命令,之后可以是有-i选择想要使用的网卡编号,如图所示:

C:\Program Files\Wireshark>tshark -D
1. \Device\NPF_{6A118642-22BF-42F1-891F-4E9B9DB34C6E} (鏈湴杩炴帴* 9)
2. \Device\NPF_{107F38F6-75DD-4E20-8BF9-4CF6B0B8A9DC} (鏈湴杩炴帴* 8)
3. \Device\NPF_{3915B8B8-AB83-4940-BCFD-F75E72F8A23F} (鏈湴杩炴帴* 1)
4. \Device\NPF_{A52A5331-CE25-455C-BD55-DB8EFA8D952F} (钃濈墮缃戠粶杩炴帴)
5. \Device\NPF_{D852B1BF-94F1-4D40-A5A9-DF9EC1C5BA45} (鏈湴杩炴帴* 10)
6. \Device\NPF_{61C1BAF8-F5D6-4E72-8D7C-661789D81A81} (鏈湴杩炴帴* 7)
7. \Device\NPF_{30EC2165-4239-4171-992A-5BE9EA7BB396} (WLAN)
8. \Device\NPF_Loopback (Adapter for loopback traffic capture)
9. \Device\NPF_{4D673649-7B96-4EA8-81F2-14619E638704} (浠ュお缃?

C:\Program Files\Wireshark>tshark -i 7
Capturing on 'WLAN'
    1   0.000000 10.129.20.181 → 239.255.255.250 SSDP 217 M-SEARCH * HTTP/1.1
    2   0.104323 10.129.16.219 → 239.255.255.250 SSDP 217 M-SEARCH * HTTP/1.1
    3   0.104523 fe80::e147:823c:f6bb:bcd2 → ff02::1:3    LLMNR 95 Standard query 0x95fa ANY 75GKMSUBLI28G9W
    4   0.104598 fe80::e147:823c:f6bb:bcd2 → ff02::1:3    LLMNR 95 Standard query 0x95fa ANY 75GKMSUBLI28G9W
  • tcpdump

原理都是相同的,先使用ifconfig 查看列出的网卡信息,再用-i选择相应的网卡,如图所示:

➜  ~ ifconfig 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    nd6 options=201<PERFORMNUD,DAD>
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 88:e9:fe:69:21:f0 
    inet6 fe80::181f:24ac:18c4:42ae%en0 prefixlen 64 secured scopeid 0x6 
    inet 10.129.16.219 netmask 0xfffff000 broadcast 10.129.31.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
➜  ~ 
➜  ~ tcpdump -i en0  

这个命令使只从eth0中捕获流量。
一旦开始捕获时,终端上打印的信息会快速的滚动,不方便查看数据信息,这时候我们需要将其保存到文件中,可以使用-w file 保存,也可以加上路径,这边习惯存在 /tmp下,如图所示:

➜  ~ tcpdump -i en0 -w /tmp/packets.pcap

问题:
1、尝试使用输出重定向或者tee指令,比如 > file 或者 tee -a file,均不能保存。原因还没搞清楚,先记下来。
2、出现tshark无法保存的情况。

C:\Program Files\Wireshark>tshark -i 7 -w test.pcap
Capturing on 'WLAN'
tshark: The file to which the capture would be saved ("test.pcap") could not be opened: Permission denied.

分析原因是windows10下默认文件夹没有权限。更改目录就可以了。

3、读取

这边通过终端,都可以使用-r读取保存的捕获数据。

  • tshark
C:\Program Files\Wireshark>tshark -r D:\test\packets.pcap

可以使用-c显示最开始的包数,如图所示:

C:\Program Files\Wireshark>tshark -r D:\test\packets.pcap -c10
    1   0.000000 10.129.26.216 → 239.255.255.250 SSDP 412 NOTIFY * HTTP/1.1
    2   0.000167 10.129.26.216 → 239.255.255.250 SSDP 410 NOTIFY * HTTP/1.1
    3   0.000464 10.129.26.195 → 239.255.255.250 SSDP 410 NOTIFY * HTTP/1.1
    4   0.000706 10.129.26.195 → 239.255.255.250 SSDP 380 NOTIFY * HTTP/1.1
    5   0.000922 10.129.26.216 → 239.255.255.250 SSDP 380 NOTIFY * HTTP/1.1
    6   0.001169 10.129.16.67 → 239.255.255.250 SSDP 318 NOTIFY * HTTP/1.1
    7   0.001353 10.129.26.195 → 239.255.255.250 SSDP 346 NOTIFY * HTTP/1.1
    8   0.001566 10.129.26.195 → 239.255.255.250 SSDP 355 NOTIFY * HTTP/1.1
    9   0.001818 10.129.26.195 → 239.255.255.250 SSDP 402 NOTIFY * HTTP/1.1
   10   0.002078 10.129.26.195 → 239.255.255.250 SSDP 400 NOTIFY * HTTP/1.1
  • tcpdump
    和tshark一样
➜  /tmp tcpdump -r packets.pcap -c5 
reading from file packets.pcap, link-type EN10MB (Ethernet)
16:38:15.829436 IP 10.129.21.15.55710 > 239.255.255.250.ssdp: UDP, length 133
16:38:15.829444 IP 10.129.16.222.58793 > 239.255.255.250.ssdp: UDP, length 175
16:38:15.856400 IP 10.129.16.219.60216 > 101.91.69.61.sunproxyadmin: Flags [S], seq 1177047401, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 805371009 ecr 0,sackOK,eol], length 0
16:38:15.884824 IP 101.91.69.61.sunproxyadmin > 10.129.16.219.60216: Flags [S.], seq 3924858574, ack 1177047402, win 13600, options [mss 1300,nop,nop,sackOK,nop,wscale 10], length 0
16:38:15.884919 IP 10.129.16.219.60216 > 101.91.69.61.sunproxyadmin: Flags [.], ack 1, win 4103, length 0

补充:
捕获的时候也可以使用-c 参数,表示抓取x个包。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352