Tshark & TCPdump
1. tshark -D 列出网卡(Windows中)
tshark -i ens33 捕获ens33网卡,在Linux中,ifconfig查看网卡代号在windows中,tshark -D 查看网卡数字代号
tshark -w packets.pcap 捕获,并写入到当前目录的 packets.pcap 文件中,注意:需要对当前目录进行读写权限修改chmod -R
tshark -r 从文件中回读数据包
-c10 -c 限制在屏幕上显示的数据包数量,如-c10,只显示在捕获文件最开始的10个包
-V -v -V Tshark中显示冗余(包中的更多信息) -v Tcpdump中显示冗余(包中的更多信息)可以用多个v,增加显示层级,最多到3层,即
-vvv
-x -X -x Tshark中查看包的十六进制或Ascii形式 -X 为Tcpdump;Tcpdump 中也可以使用 -x(小写)只查看十六进制,-A 只查看Ascii
建议 在命令行用最少的信息显示最关心的内容,建议从默认的输出格式开始,当有特别的包需要深入分析时,再使用更详细的输出选项
- 名称解析
○ 定义:名称解析即是把(mac)地址和端口号转化为名称
○ -n 禁用Tshark的名称解析;Tcpdump中 -n 禁用IP名称解析
-nn 禁用端口服务解析
-N 禁用所有的名称解析功能,除非明确指明一些功能的启用
Ex. sudo tshark -i 1 -Nt t:传输层(端口服务名称)解析,此命令,仅启用传输层解析
名称解析服务参考:
m MAC地址解析
n 网络地址解析
t 传输层(端口服务名称)解析
N 使用外网解析服务
C 使用当前DNS解析
- 应用(捕获+显示)过滤器
Tshark
-f 捕获过滤器 sudo tshark -ni ens33 -w packets.pcap -f “tcp port 80”
-Y 显示过滤器 sudo tshark -ni 1 -w packets.pcap -Y “tcp.dstport == 80”
Tcpdump
‘ ‘ tcpdump 单引号构造,并附到命令最后,捕获、显示过滤器均如此 sudo tcpdump -r packets.pcap ‘tcp port 80’
-F 指定包含一系列过滤器的BPF文件 sudo tcpdump -nni ens33 -F dns_servers.bpf
技巧:
○ tcpdump可切将很大的捕获文件切小,然后再放到wireshark中分析
将一个包含大量各种类型的数据包,过滤需要的数据包出来另存为一个文件
Ex.
sudo tcpdump -r packets.pcap ‘tcp dst port 80’ -w http_packets.pcap
○ BPF文件中直接加注释是非法的,可以同时使用两份BPF文件,一份不包含任何注释,可载入到tcpdump中;另一份含有注释以供参考。
- 时间显示(仅Tshark)
Tshark 默认显示相对(相对开始捕获时)时间戳
-t -t 后加时间戳的值 Ex. -t ad 显示绝对时间
可用的时间显示格式
a 包被捕获的绝对时间(当前时区)
ad 包被捕获的绝对时间,带日期(当前时区)
d 自之前捕获的数据包以来的增量(时差)
dd 之前显示的数据包
e 亿元时间(1970年 1 月 1 日以来的秒数)
r 第一个数据包和当前数据包之间的运行时间
u 捕获数据包的绝对时间(UTC)
ud 带日期的捕获数据包的绝对时间(UTC)
- Tshark 中的总结统计
○ 使用 -z 参数,加上输出的名字即可生成统计信息
○ -z help 查看所有可用的统计
○ Ex.
-z conv,ip 端点和会话
-z http,tree 以表的形式分解HTTP请求和返回数据包
-z follow,tcp,ascii,0 跟踪0号TCP流(会话统计最左列的序号表示一段流)
-z follow,udp,ascii,192.168.1.5:23429 提供地址细节来知名要查看的数据流,如整个命令为 获取一个指明端点和端口的 UDP流
○ 常用的统计选项
ip_hosts,tree 在一段捕获中显示每个IP地址,并统计每个IP地址在所占流量的比例
io,phs 分层级统计在捕获文件中找到的所有协议
http,tree 显示关于HTTP请求和回应的统计
http_req,tree 显示每个HTTP请求和统计
smb,srt 显示关于Windows会话的SMB命令统计
endpoints,wlan 显示无线端点
expert 从捕获中显示专家信息(对话,错误等)
麻烦问下windows下使用tshark如何查看网卡数字代号呢?
@11
直接使用ipconfig查看就好啦