Tshark-Tcpdump

  • 导航 (返回顶部)
    • [1. Tshark](#1. Tshark)

      • [1.1 Tshark简介](#1.1 Tshark简介)
      • [1.2 man Page](#1.2 man Page)
      • [1.3 Tshark时间显示](#1.3 Tshark时间显示)
      • [1.4 统计 statistics](#1.4 统计 statistics)
    • [2. Tcpdump](#2. Tcpdump)

      • [2.1 tcpdump -h](#2.1 tcpdump -h)
      • [2.2 包格式](#2.2 包格式)
    • [3. tshark VS tcpdump](#3. tshark VS tcpdump)

      • [3.1 命令行捕获](#3.1 命令行捕获)
      • [3.2 vs小结](#3.2 vs小结)
      • [3.3 书籍介绍](#3.3 书籍介绍)

      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍
      #1. Tshark
      1.1 Tshark简介
      1.2 man Page
      1.3 Tshark时间显示
      1.4 统计 statistics
      2. Tcpdump
      2.1 tcpdump -h
      2.2 包格式
      3. tshark VS tcpdump
      3.1 命令行捕获
      3.2 vs小结
      3.3 书籍介绍

1. Tshark

1.1 Tshark简介

TShark是基于终端的Wireshark,它是能够提供大量和Wireshark功能相同的数据包分析应用,但仅限于没有GUI的命令行界面。
如果你安装了Wireshark,那么你应该也安装了TShark,除非你在Wireshark安装过程中明确反选了安装TShark。
你可以输入以下命令确认TShark是否安装。
PS D:\Program Files\Wireshark> .\tshark.exe -v
TShark (Wireshark) 4.4.7 (v4.4.7-0-g7980339b1630).
如果没安装TShark但你现在又想使用它,那么你可以直接回到 Wireshark的安装向导重新安装,并确保默认的TShark安装选项被勾 选。

1.2 man Page

查看帮助命令
D:\Program Files\Wireshark> .\tshark.exe -h
查看手册页
以下是本机D盘安装目录下的路径

1.3 Tshark时间显示

时间戳使用-t选项切换:
tshark --r packets.pcap --t ad
注: Tcpdump不提供这样多层面时间戳格式的控制
Tshark中可用的时间显示格式

|----|--------------------------------------|----------------------------|
| 值 | 时间戳 >tshark --r packets.pcap --t ad | 示例 |
| a | 包被捕获的绝对时间(在您的时区) | 15:47:58.004669 |
| ad | 包被捕获的绝对时间(在您的时区)带日期 | 2015-10-09 15:47:58.004669 |
| d | 自之前捕获的数据包以来的增量(时差) | 0.000140 |
| dd | 之前显示的数据包 | 0.000140 |
| e | 亿元时间(1970年1月1日以来的秒数) | 1444420078.004669 |
| r | 第一个数据包和当前数据包之间的运行时间 | 0.000140 |
| u | 捕获数据包的绝对时间(UTC) | 19:47:58.004669 |
| ud | 捕获数据包的绝对时间(UTC)带日期 | 2015-10-09 19:47:58.004669 |

1.4 统计 statistics

TShark的另一个有用的功能 (也是比Tcpdump先进的功能), 是它可以从捕获的文件中生成统计的一个子集。
统计示例

  • tshark -r packets.pcap --z conv,ip //有关IP会话的信息的统计图
  • tshark -r packets.pcap --z http,tree //以表的形式来分解HTTP的请求和返回数据包
  • tshark -r http_google.pcap -z follow,tcp,ascii,0 //以ASCII形式将http_google.pcap的0号TCP流打印到 屏幕上
  • tshark --r packets.pcap --z follow,udp,ascii,192.168.1.5:23429,4.2.2.1:53 //指明端点和端口的UDP流
    查看所有可用的统计: tshark --z help

|-------|------------------------------------------|
| 类 | .\tshark.exe -z help |
| | afp,srt |
| | ancp,tree |
| | ansi_a,bsmap |
| | ansi_a,dtap |
| | ansi_map |
| | asap,stat |
| | bacapp_instanceid,tree |
| | bacapp_ip,tree |
| | bacapp_objectid,tree |
| | bacapp_service,tree |
| | calcappprotocol,stat |
| | camel,counter |
| | camel,srt |
| | collectd,tree |
| | componentstatusprotocol,stat |
| 会 话 | conv,bluetooth |
| 会 话 | conv,bpv7 |
| 会 话 | conv,dccp |
| 会 话 | conv,eth |
| 会 话 | conv,fc |
| 会 话 | conv,fddi |
| 会 话 | conv,ip //有关IP会话的信息 |
| 会 话 | conv,ipv6 |
| 会 话 | conv,ipx |
| 会 话 | conv,jxta |
| 会 话 | conv,ltp |
| 会 话 | conv,mptcp |
| 会 话 | conv,ncp |
| 会 话 | conv,opensafety |
| 会 话 | conv,rsvp |
| 会 话 | conv,sctp |
| 会 话 | conv,sll |
| 会 话 | conv,tcp |
| 会 话 | conv,tr |
| 会 话 | conv,udp |
| 会 话 | conv,usb |
| 会 话 | conv,wlan |
| 会 话 | conv,wpan |
| 会 话 | conv,zbee_nwk |
| | credentials |
| | dcerpc,srt |
| | dests,tree |
| | dhcp,stat |
| | diameter,avp |
| | diameter,srt |
| | dns,tree |
| | dns_qr,tree |
| | e2ap,tree |
| 端 点 | endpoints,bluetooth |
| 端 点 | endpoints,bpv7 |
| 端 点 | endpoints,dccp |
| 端 点 | endpoints,eth |
| 端 点 | endpoints,fc |
| 端 点 | endpoints,fddi |
| 端 点 | endpoints,ip |
| 端 点 | endpoints,ipv6 |
| 端 点 | endpoints,ipx |
| 端 点 | endpoints,jxta |
| 端 点 | endpoints,ltp |
| 端 点 | endpoints,mptcp |
| 端 点 | endpoints,ncp |
| 端 点 | endpoints,opensafety |
| 端 点 | endpoints,rsvp |
| 端 点 | endpoints,sctp |
| 端 点 | endpoints,sll |
| 端 点 | endpoints,tcp |
| 端 点 | endpoints,tr |
| 端 点 | endpoints,udp |
| 端 点 | endpoints,usb |
| 端 点 | endpoints,wlan //显示无线端点。 |
| 端 点 | endpoints,wpan |
| 端 点 | endpoints,zbee_nwk |
| | enrp,stat |
| | expert //从捕获中显示专家信息(对话, 错误等)。 |
| | f1ap,tree |
| | f5_tmm_dist,tree |
| | f5_virt_dist,tree |
| | fc,srt |
| 流 量 图 | flow,any |
| 流 量 图 | flow,icmp |
| 流 量 图 | flow,icmpv6 |
| 流 量 图 | flow,lbm_uim |
| 流 量 图 | flow,tcp |
| 跟 随 流 | follow,dccp |
| 跟 随 流 | follow,http |
| 跟 随 流 | follow,http2 |
| 跟 随 流 | follow,quic |
| 跟 随 流 | follow,sip |
| 跟 随 流 | follow,tcp |
| 跟 随 流 | follow,tls |
| 跟 随 流 | follow,udp |
| 跟 随 流 | follow,usbcom |
| 跟 随 流 | follow,websocket |
| | fractalgeneratorprotocol,stat |
| | gsm_a |
| | gsm_a,bssmap |
| | gsm_a,dtap_cc |
| | gsm_a,dtap_gmm |
| | gsm_a,dtap_mm |
| | gsm_a,dtap_rr |
| | gsm_a,dtap_sacch |
| | gsm_a,dtap_sm |
| | gsm_a,dtap_sms |
| | gsm_a,dtap_ss |
| | gsm_a,dtap_tp |
| | gsm_map,operation |
| | gtp,srt |
| | gtpv2,srt |
| | h225,counter |
| | h225_ras,rtd |
| | hart_ip,tree |
| | hosts |
| | hpfeeds,tree |
| | http,stat |
| | http,tree //显示关于HTTP请求和回应的统计。 |
| | http2,tree |
| | http_req,tree //显示每个HTTP请求的统计。 |
| | http_seq,tree |
| | http_srv,tree |
| | icmp,srt |
| | icmpv6,srt |
| | io,phs //分层级统计在捕获文件中找到的所有协议。 |
| | io,stat |
| | ip_hosts,tree //显示并统计每个IP地址在所占流量的比率。 |
| | ip_srcdst,tree |
| | ip_ttl,tree |
| | ipv6_dests,tree |
| | ipv6_hop,tree |
| | ipv6_hosts,tree |
| | ipv6_ptype,tree |
| | ipv6_srcdst,tree |
| | isup_msg,tree |
| | kerberos,srt |
| | lbmr_queue_ads_queue,tree |
| | lbmr_queue_ads_source,tree |
| | lbmr_queue_queries_queue,tree |
| | lbmr_queue_queries_receiver,tree |
| | lbmr_topic_ads_source,tree |
| | lbmr_topic_ads_topic,tree |
| | lbmr_topic_ads_transport,tree |
| | lbmr_topic_queries_pattern,tree |
| | lbmr_topic_queries_pattern_receiver,tree |
| | lbmr_topic_queries_receiver,tree |
| | lbmr_topic_queries_topic,tree |
| | ldap,srt |
| | ltp,tree |
| | mac-3gpp,stat |
| | megaco,rtd |
| | mgcp,rtd |
| | mtp3,msus |
| | ncp,srt |
| | nfsv4,srt |
| | ngap,tree |
| | npm,stat |
| | osmux,tree |
| | pfcp,srt |
| | pingpongprotocol,stat |
| | plen,tree |
| | proto,colinfo |
| | ptype,tree |
| | radius,rtd |
| | rlc-3gpp,stat |
| | rpc,programs |
| | rpc,srt |
| | rtp,streams |
| | rtsp,stat |
| | rtsp,tree |
| | sametime,tree |
| | scsi,srt |
| | sctp,stat |
| | sip,stat |
| | smb,sids |
| | smb,srt //显示关于Windows会话的SMB命令的统计。 |
| | smb2,srt |
| | smpp_commands,tree |
| | snmp,srt |
| | someip_messages,tree |
| | someipsd_entries,tree |
| | ssprotocol,stat |
| | sv |
| | ucp_messages,tree |
| | wsp,stat |

2. Tcpdump

  • 如果说Wireshark是世界上最流行的图形化数据包分析应用,
  • 那么Tcpdump就是世界上最流行的命令行数据包分析应用。
    Tcpdump基于Linux系统的工具, 支持Linux和macOS.
    如果想在Windows上使用Tcpdump,那么可以下载安装WinDump。
    在WinDump中一些Tcpdump的功能可能会缺失甚至可能会有安全漏洞。

2.1 tcpdump -h

https://www.tcpdump.org/manpages/tcpdump.1.html
~ man tcpdump \~ tcpdump -h

2.2 包格式

Tcpdump中每行也代表一个数据包,根据不同的协议来规范每行的输出格式。
因为Tcpdump不依赖于Wireshark的协议解析器,所以第7层的协议信息无法被解码。
这也是Tcpdump的最大限制之一。
取而代之的是,Tcpdump单行数据包只会根据传输层协议(TCP或UDP)进行解码。

  • TCP包使用以下格式:

Timestamp\] \[Layer 3 Protocol\] \[Source IP\].\[Source Port\] \> \[Destination IP\]. \[Destination Port\]: \[TCP Flags\], \[TCP Sequence Number\], \[TCP Acknowledgement Number\], \[TCP Windows Size\], \[Data Length

  • UDP包使用以下格式:

Timestamp\] \[Layer 3 Protocol\] \[Source IP\].\[Source Port\] \> \[Destination IP\]. \[Destination Port\]: \[Layer 4 Protocol\], \[Data Length

3. tshark VS tcpdump

3.1 命令行捕获

|--------------|------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| 操作 | tshark (Windows) | tcpdump (Linux, MacOS) |
| 抓包 | tshark | sudo tcpdump |
| 列出网卡 | tshark -D | ifconfig |
| 指定网卡 | tshark -i 1 | sudo tcpdump -i eth0 |
| 保存 | tshark --i 1 --w packets.pcap | tcpdump --i eth0 --w packets.pcap |
| 回读数据包 | tshark --r packets.pcap | tcpdump --r packets.pcap |
| 限制显示数量 | tshark --r packets.pcap --c10 | tcpdump --r packets.pcap --c10 |
| 增加冗馀 | tshark --r packets.pcap --V | tcpdump --r packets.pcap --vvv |
| 正常显示 | tshark -r packets.pcap -c1 | tcpdump -r packets.pcap -c1 |
| 冗余显示 | tshark -r packets.pcap -V -c1 | tcpdump -r packets.pcap -c1 -v tcpdump -r packets.pcap -c1 -vv tcpdump -r packets.pcap -c1 -vvv |
| ASCII, hex | tshark --xr packets.pcap | tcpdump --Xr packets.pcap tcpdump --xr packets.pcap //hex tcpdump --Xr packets.pcap //ascII |
| 禁用名称解析 | tshark --ni 1 | tcpdump --nni eth1 |
| 仅启用传输层 端口的解析 | tshark --i 1 --Nt | tcpdump --ni eth1 -n会禁用IP解析,-nn禁用IP和端口解析 |
| 启用传输层 和MAC层 | tshark --i 1 -Ntm | |
| 捕获过滤器 | tshark --ni 1 --w packets.pcap --f tcp port 80 | tcpdump --nni eth0 --w packets.pcap 'tcp dst port 80' |
| 显示捕获器 | tshark --ni 1 --w packets.pcap --Y tcp.dstport == 80 | |
| | tshark --r packets.pcap --Y tcp.dstport == 80 | tcpdump --r packets.pcap 'tcp dst port 80' |
| 另存为 | 读取→过滤→写入 | tcpdump --r packets.pcap 'tcp dst port 80' --w http_packets.pcap |
| 指派BPF 过滤器文件 | | tcpdump --nni eth0 --F dns_servers.bpf |
| 显示绝对时间 | tshark --r packets.pcap --t ad | Tcpdump不提供多层面时间戳格式的控制 |

3.2 vs小结

这些工具的使用方式都是类似的, 学会其中一个就能很快上手另一个

|------|--------------------------|--------------------------------------------------------------------|-------------------------------------------------------------------------|
| 差别 | tshark | tcpdump | WinDump |
| 操作系统 | Windows, Linux, macOS | Linux, macOS | WinDump: 是Tcpdump在Windows平台的发行版. 在WinDump中一些Tcpdump的功能可能会缺失甚至可能会有安全漏洞 |
| 时间格式 | 提供多层面时间戳格式的控制 | 标准时间戳 | WinDump: 是Tcpdump在Windows平台的发行版. 在WinDump中一些Tcpdump的功能可能会缺失甚至可能会有安全漏洞 |
| 协议支持 | 提供丰富的第7层协议支持 | 对第7层的协议支持不足 | WinDump: 是Tcpdump在Windows平台的发行版. 在WinDump中一些Tcpdump的功能可能会缺失甚至可能会有安全漏洞 |
| 分析功能 | 类似Wireshark的强大统计分析功能 | 不提供 | WinDump: 是Tcpdump在Windows平台的发行版. 在WinDump中一些Tcpdump的功能可能会缺失甚至可能会有安全漏洞 |
| 补充 | Windows系統下Wireshark的命令行版 | 虽然Tcpdump缺少图形特性, 但它处理海量数据时非常靠谱。 可用管道将输出重定向到其他命令, 比如Linux的sed 和awk。 | WinDump: 是Tcpdump在Windows平台的发行版. 在WinDump中一些Tcpdump的功能可能会缺失甚至可能会有安全漏洞 |

3.3 书籍介绍

书名:Wireshark数据包分析实战(第3版)
ISBN:978-7-115-49431-3
著 [美] 克里斯•桑德斯(Chris Sanders)
译 诸葛建伟 陆宇翔 曾皓辰
本书在上一版的基础上针对Wireshark 2.0.5和IPv6进行了更新
本书从2015年底开始编写, 在2017年早期完成,总计历时一年半。
而在本书出版之日,距离本书第2版发布的时间已经有6年,距离第1版则长达10年之久。
额外内容, 书籍附带的演示数据包
https://nostarch.com/packetanalysis3
https://nostarch.com/download/ppa3ecaptures_updated.zip
下载本书的捕获文件(.zip)
(MD5校验和:C532A797958649D821BC2EDBC3A2DDD9)
ppa3ecaptures.zip的哈希值
MD5:C532A797958649D821BC2EDBC3A2DDD9
SHA1:7887C73BDB0F9BA1AF7FADBE01F1F0AAF2F2D5C6
SHA256:6EC7B9B0D1E88AE957D9B40FE9FD992316DD0619191FBA11582FC567D556C87E

相关推荐
@Dream-fennel13 分钟前
接口测试工具
测试工具
阿杰技术15 分钟前
CentOS 清理技巧
linux·运维·centos
asdfg12589631 小时前
路由器SDH POS接口
网络·计算机网络·智能路由器·通信·网络运维
云游2 小时前
k8s:利用kubectl部署postgis:17-3.5
linux·容器·kubernetes
love530love3 小时前
《Anaconda 精简路径治理》系列 · 番外篇Conda 虚拟环境路径结构方案全解——六种路径布局对比、优劣与治理建议
运维·人工智能·windows·python·conda
深度学习04074 小时前
【Linux服务器】-MySQL数据库参数调优
linux·服务器·数据库
老马啸西风7 小时前
windows wsl2-05-docker 安装笔记
运维·windows·笔记·docker·容器·k8s
老马啸西风7 小时前
windows docker-02-docker 最常用的命令汇总
linux·运维·ubuntu·docker·容器·eureka·maven
手眼通天王水水7 小时前
【Linux】3. Shell语言
linux·运维·服务器·开发语言