功能总结导出数据包 方法:File | Export Packet Dissections | as"CSV"(Comma Separated Values packet summary)file... 不仅可以输出选中列,还可以 输出当前页面展示的列 ,以及所有列添加展示列 方法:Package Details 面板中展开包详情,找到指定字段右键单击并选择Apply as Column 选项 显示一个TCP/UDP 会话 方法1:选中一个包,右键选择Conversation Filter|[TCPIUDP]命令 方法2:选中一个包,右键选择Follow[TCPIUDP] Stream 命令 方法3:工具栏选择Statistics|Conversations命令 方法4:在TCP 头部,通过右键单击stream index 字段并选择Apply as Filter 命令 命令总结Part1 捕获过滤命令 捕获过滤器仅支持协议过滤。 1. 主机相关过滤命令*host 10.3.1.1: 捕获到达/来自10.3.1.1主机的数据(支持IPv6地址)。 not host 10.3.1.1: 捕获除了到达/来自10.3.1.1主机的所有数据。 src host 10.3.1.1: 捕获来自10.3.1.1 主机上的数据。 dst host 10.3.1.1: 捕获到达10.3.1.1 主机上的数据。 host 10.3.1.1 or host 10.3.1.2: 捕获到达/来自10.3.1.1主机上的数据,和到达/来自10.3.1.2 主机的数据。 2. 端口相关过滤命令*port 53: 捕获到达/来自端口号为53的UDP/TCP 数据(典型的DNS 数据)。 not port 53 : 捕获除到达/来自端口号为53的所有UDP/TCP 数据。 port 80: 捕获到达/来自端口号为80的UDP/TCP 数据(典型的HTTP 数据)。 udp port 67 : 捕获到达/来自端口号为67的UDP 数据(典型的DHCP 数据)。 tcp port 21: 捕获到达/来自端口号为21的TCP 数据(典型的FTP 数据)。 portrange 1-80: 捕获到达/来自1~80端口号的UDP/TCP 数据。 tcp portrange 1-80: 捕获到达/来自1~80端口号的TCP 数据。 3. 主机和端口混合过滤命令*port 20 or port 21 :捕获到达/来自20 或21 端口号的所有UDP/TCP 数据。 host 10.3.1.1 and port 80: 捕获到达/来自端口号为80, 并且是到达/来自10.3.1.1主机的UDP/TCP 数据。 host 10.3.1.1 and not port 80: 捕获到I来自10.3.1.1 主机,并且是非80 端口的UDP/TCP 数据。 udp src port 68 and udp dst port 67: 捕获来自端口为68, 目标端口号为67 的所有UDP 数据(典型的DHCP 客户端到DHCP 服务器的数据) 。 udp src port 67 and udp dst port 68: 捕获来自端口号为67, 目标端口号为68 的所有UDP 数据(典型的DHCP 服务器到DHCP 客户端的数据)。 4. IP地址范围过滤命令net 192.168.0.0/24:捕获到达/来自192.168.0.0网络中任何主机的数据。 net 192.168.0.0 mask 255.255.255.0: 捕获到达/来自192.168.0.0网络中任何主机的 数据。 ip6 net 2406:daOO:ff00::/64: 捕获到达/来自2406:daOO:ffDO:OOOO ( IPv6) 网络中任 何主机的数据。 not dst net 192.168.0.0/24: 捕获除目的IP地址是192.168.0.0网络外的所有数据。 dst net 192.168.0.0/24:捕获到达IP地址为192.168.0.0网络内的所有数据。 src net 192.168.0.0/24: 捕获来自IP地址为192.168.0.0网络内的所有数据。 5. 广播或多播地址过滤命令ip broadcast: 捕获到255.255.255.255 的数据。 ip multicast: 捕获通过224.0.0.0~239.255.255.255的数据。 dst host ff02::1: 捕获所有主机到IPv6多播地址的数据。 dst host ff02::2: 捕获所有路由到IPv6多播地址的数据。( 跟上一个有什么区别? )6. MAC地址过滤命令ether host 00:08:15:00:08:15: 捕获到达/来自00:08:15:00:08:15主机的数据。 ether src 02:0A:42:23:41:AC: 捕获来自02:0A:42:23:41:AC 主机的数据。 ether dst 02:0A:42:23:41:AC: 捕获到达02:0A:42:23:41:AC 主机的数据。 not ether host 00:08:15:00:08:15:捕获到达/来自除了00:08:15:00:08:15的任何MAC 地址的流量。 7. 特定ICMP协议过滤命令icmp:捕获所有ICMP 数据包。 icmp[0]=8 : 捕获所有ICMP 字段类型为8 (Echo Request) 的数据包。 icmp[0]=17: 捕获所有ICMP 字段类型为17 (Address Mask Request) 的数据包。 icmp[0]=8 or icmp[0]=0: 捕获所有ICMP 字段类型为8 (Echo Request) 或ICMP 字段类型为0 (Echo Reply) 的数据包。 icmp[0]=3 and not icmp[1]=4 :捕获所有ICMP 字段类型为3 (Destination Unreachable) 的包,除了ICMP 字段类型为3/代码为4 (Fragmentation Needed and Don"t Fragment was Set) 的数据包。 Part2 显示过滤命令 显示过滤器可以帮助用户在捕捉结果中进行数据查找。该过滤器可以在得到的捕捉结果中修改,以显示有用数据。 既支持协议过滤也支持内容过滤。 1. 通用语法格式Protocol | [String1] [String2] | Comparison-Operator | Value | Logical-Operations | Other-expression 协议(2~7层) 协议子类 比较运算符 比较值 逻辑运算符 其他表达式 其中比较运算符有如下6个: 英文写法 C 语言写法 含义 eq == 等于 ne != 不等于 gt > 大于 lt < 小于 ge >= 大于等于 le <= 小于等于 contains - 包含 matches - 匹配 逻辑运算符有如下4个: 英文写法 C 语言写法 含义 and && 逻辑与 or || 逻辑或 xor ^^ 逻辑异或 not ! 逻辑非 2. 协议过滤命令*arp: 显示所有ARP 流量,包括免费ARP 、ARP 请求和ARP 应答。 ip(v6): 显示所有IPv4/IPv6 流量,包括有IPv4(IPv6) 头部嵌入式的包(如ICMP 目标不可达的数据包,返回到ICMP 头后进入到IPv4 头部)。 ip(v6).srcip(v6).dstip(v6).hostip(v6).addr tcp: 显示所有基于TCP 的流量数据。 3. 应用过滤命令*bootp: 显示所有DHCP 流量(ipv4下基于BOOTP,ipv6下不是基于BOOTP,过滤时使用dhcpv6) 。 dns: 显示所有DNS 流量,包括基于TCP 传输和UDP 的DNS 请求和响应。 tftp: 显示所有TFTP (简单文件传输协议)流量。 http: 显示所有HTTP 命令、响应和数据传输包。但是不显示TCP 握手包、TCP确认包或TCP 断开连接的包。 http contains "GET": 显示HTTP 客户端发送给HTTP 服务器的所有GET 请求数据。 icmp: 显示所有ICMP 流量。 4. 字段存在过滤命令bootp.option.hostname: 显示所有DHCP 流量,包含主机名( DHCP 是基于BOOTP) 。 http.host: 显示所有包含有HTTP 主机名字段的HTTP 包。该包通常是由客户端发送给一个Web 服务器的请求。 ftp.request.command: 显示所有FTP 命令数据,如USER 、PASS 或RETR 命令。 ftp.request.arg matches "admin": 显示匹配admin 字符串的数据。 tcp.analysis.flags: 显示所有与TCP 标识相关的包,包括丢包、重发或者零窗口标志。 tcp.analysis.zero_window: 显示被标志的包,来表示发送方的缓冲空间已满。 5. 逻辑运算过滤命令&&或and: ip.src=l0.2.2.2 && tcp.port=80,表示显示源地址10.2.2.2 主机,并且端口号为80 的所有IPv4 流量。 ||或or: tcp.port=80 || tcp.port=43,表示显示到达/来自80 或443 端口的所有TCP数据。 !或not: !arp,表示查看除ARP 外的所有数据。 ! 或ne: tcp.flags.syn != 1,表示查看TCP SYN 标志位不是1 的TCP 数据帧。 注: ip.addr != 10.2.2.2 表示显示IP 源或目标地址字段非10.2.2.2 的数据包。如果一个包的源或目标IP 地址字段中不包含10.2.2.2, 则显示该数据包。在该语法中使用了一个隐含或,并且不会过滤掉任何数据包。 !ip.addr == 10.2.2.2 表示显示在IP 源和目标地址字段不包含10.2.2.2 的数据包。当排除到达/来自一个特定IP 地址的数据时,这是一个合适的过滤器语法。 !tcp.flags.syn==l 表示显示TCP SYN 标志位不等于1的所有TCP 包和其他协议包,如UDP 、ARP数据包将匹配该过滤器。因为UDP 和ARP 协议中没有TCP SYN 标志位为1 的数据包。 tcp.flags.syn != 1 表示仅显示包括SYN 设置为0 的TCP 包。 6. 时间过滤命令frame.time_delta > 1,表示时间延迟超过1 秒的数据,显示捕获文件中所有包的时间。 tcp.time_delta > 1,表示TCP 时间差大于1 秒的数据。 注:上述命令主要用于判断各种网络延迟。