wireshark常用功能

前言

前些天回顾了一下《Wireshark数据包分析实战》,就想写一些关于协议/数据分析的东西,但也只是从本书中总结一些Wireshark常用的使用功能,书中写的很详细,这里算是一个简化版吧~

一些常见的网络协议
  • ARP(OSI数据链路层)
    交换机上使用的内容寻址寄存器(CAM)将列出它在每一个端口的所有连接设备的MAC地址,负责将IP地址解析为MAC地址。
  • IP(OSI网络层)

1.互联网本身就是由无数局域网和路由器所组成的一个集合
2.网络掩码有32位长,并且被设为1的每一位都标识着IP地址的对应部分时属于网络地址的,而剩下设为0的部分则标识着主机地址。
3.IP地址和网络掩码为方便起见,通常被写成无类型域间选路(CIDR)的形式,在此形式下,一个完整的IP地址后面会有一个左斜杠(/),以及一个用来表示IP地址中网络部分位数的数字
4.IP分片,以太网的MTU最大为1500字节(仅数据部分)

  • TCP(OSI传输层)

1.TCP会话
三次握手:1.A->B(SYN)      2.B->A(SYN/ACK)      3.A->B(ACK)
终止会话:1.A->B(FIN/ACK)      2.B->A(ACK)      3.B->A(FIN/ACK)      4.A->B(ACK)
重置:RST和ACK标志着通信的结束
2.Wireshark会维护一个端口的列表,并记录着它们最普遍的应用。尽管列表还是以标准端口为主,但很多临时端口也关联着常用服务。并可通过Edit->Preference->Name Resolution,然后取消勾选Enable Transport Name Resolution 就可以将其禁用了。
3.Wireshark为了分析将简便,引入了一个特性,可以将TCP数据包的序列号替换为相对值。
Edit->Preferences->Protocols,选择TCP,然后取消Relative Sequence Numbers and Window Scaling框,并单击OK就可以禁用了。

  • DHCP(OSI应用层)

1.早先是由BOOTP协议(Bootstrap Protocol)解决给连接到网络的设备自动分配地址的问题。在目前的Wireshark中,Packets Detail面板仍是Bootstrap Protocol而不是DHCP。
2.最主要任务就是在续租过程中向客户端分配IP地址。
3.DHCP的DPRA过程

  • DNS(OSI应用层)

1.DNS查询过程

2.区域传输 —— 备份主DNS服务器的信息到另一台备用DNS服务器,在两台设备之间传送区域数据
完整区域传送(AXFR)
增量区域传送(IXFR):仅传送区域信息的一部分
数据在传输时是基于TCP协议,因为TCP对于规模数据的传输更加可靠。

常用功能
  • File->
    Export 导出
    Save As 保存
    Merge 合并所捕获的数据包
  • 【Ctrl-F】->Find(查找所匹配的第一个数据包)
    【Ctrl-N】 下一个数据包
    【Ctrl-B】 前一个数据包
  • Edit->Set Time Reference
    设定相对时间参数(只有当捕获的时间显示格式设定为相对于捕获开始的时间,设定数据包对时间参考才有意义)
高级特性之Statistcs
  • -> Endpoints 端点(给出了每一个端点的许多有用统计数据,包括每个端点的地址、传输发送数据包的数量和字节数)
  • -> Conversations 会话(记录两个端点之间的会话信息)
  • -> Protocol Hierachy 协议分层(查看协议)
  • -> Packet Lengths->Create Stat
    在正常情况下,一个以太网上的帧的最大长度为1518字节,除去以太网、IP以及TCP头,还剩下1460字节以供应用层协议的头域或者数据使用。
    以太网14字节
  • -> IO Graphs Wireshark上的IO图窗口可以让你对网络上的吞吐量进行绘图
  • -> TCP Stram Graph->Round Trip Time Graph

1.对RTT(Round-Trip Time,确认一个数据包已被成功接受所需要的时间)进行分析通常是被用来找到通信中的慢点和瓶颈,以确定是否存在延迟
2.双向时间图(图中每一个点都代表了一个数据包的双向时间,你可以点击图中任何一个点,并将在Packet List面板中看到相应的数据包)

  • ->Flow Graph
    创建数据流图
高级特性之Analyze
  • ->Expert Info
    专家信息(对话   注意   警告   错误)
其他
  • Capture->Options->name resolution
    捕获开始前有选项设置,如名字解析(会存在一些弊端:如会产生额外的数据包等)

  • 更换解析器
    解析器可理解为网络原始数据流和Wireshark程序之间的翻译器
    Wireshark在给一个数据包选择解析器时也并非每次都能选对,尤其是当网络上的一个协议使用了不同于标准的配置,比如一个非默认端口(网络管理员通常会出于安全考虑,或者员工想要避开访问控制时进行设置)。这时我们可以更改Wireshark使用特定解析器的方式(注:进行强制解码时产生的更改,并不会在你保存捕获文件并关闭Wireshark后保存,每次打开捕获文件时,都要重新进行强制解码的设置)
    具体方法:

1.右键单击所要强制解码的数据包,并选择Decode As
2.
3.选好相应解码条件后单击OK