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

相关推荐
大树8811 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质11 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush411 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52012 小时前
Linux 11 动态监控指令top
linux
Inhand陈工12 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
网络研究院13 小时前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智13 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest13 小时前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
不会C语言的男孩13 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言