尼采般地抒情

尼采般地抒情

尼采般地抒情

音乐盒

站点信息

文章总数目: 313
已运行时间: 1541

学习网络协议分析工具WireShark,利用WireShark捕获并分析以太网报文结构,最重要的是后面超星网登录案例分析,用实际例子将计网的所学知识串起来。

文章更新内容说明:无线上网和有线上网的MAC地址是不一样的

【查看本地地址的截图是在家里的查看,wireshark的使用是在学校】


查看信息

查看本地的mac地址

ping命令

先使用ping命令找到需要抓包的网站的ip地址

WireShark使用

WireShark使用及面板功能区域

进入软件,若成功适配电脑网卡,则出现如下类似接口列表

直接双击上图中WLAN行即可抓包,也可以如下设置网卡启动抓包

1区域-显示过滤器

为过滤ip地址区域。相关表达式语法有

  1. 协议过滤。比如TCP,只显示TCP协议。
  2. IP 过滤。比如 ip.src == 192.168.1.102,显示源地址为192.168.1.102,

   ip.dst == 192.168.1.102, 目标地址为192.168.1.102。

  1. 端口过滤。   tcp.port ==80,  端口为80的

    tcp.srcport == 80,只显示TCP协议的愿端口为80的。

  1. Http模式过滤。http.request.method=="GET",   只显示HTTP GET方法的。
  2. 逻辑运算符为 AND/ OR

2区域-获取的数据包

封包列表(Packet List Pane)

3区域-单个数据包各层详细内容

选定的封包详细信息 (Packet Details Pane)

  1. Frame:物理层的数据帧概况。
Frame 165: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface \Device\NPF_{B016AB5D-3088-41BD-8997-48F19D9DEBFA}, id 0 //165号帧,对方发送74字节,实际收到74字节 
    Interface id: 0 (\Device\NPF_{B016AB5D-3088-41BD-8997-48F19D9DEBFA}) //接口id为0 
        Interface name: \Device\NPF_{B016AB5D-3088-41BD-8997-48F19D9DEBFA}
        Interface description: WLAN
    Encapsulation type: Ethernet (1) //封装类型 
    Arrival Time: Oct 23, 2020 13:37:43.372763000 中国标准时间//捕获日期和时间(中国标准时间) 
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1603431463.372763000 seconds
    [Time delta from previous captured frame: 0.008472000 seconds]//与前一包时间间隔 
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 36.349570000 seconds]//此包与第一帧的时间间隔
    Frame Number: 165//帧序号 
    Frame Length: 74 bytes (592 bits)//帧长度 
    Capture Length: 74 bytes (592 bits)//捕获字节长度 
    [Frame is marked: False]//是否做了标记 
    [Frame is ignored: False]//是否被忽略 
    [Protocols in frame: eth:ethertype:ip:icmp:data]//帧内封装的协议层次结构 
    [Coloring Rule Name: ICMP]//着色标记的协议名称 
    [Coloring Rule String: icmp || icmpv6]//着色规则显示的字符串
  1. Ethernet II:数据链路层以太网帧头部信息。
Ethernet II, Src: IntelCor_fb:33:94 (0c:54:15:fb:33:94), Dst: HuaweiTe_da:ff:f3 (7c:a1:77:da:ff:f3)
    Destination: HuaweiTe_da:ff:f3 (7c:a1:77:da:ff:f3)//目的MAC地址 
    Source: IntelCor_fb:33:94 (0c:54:15:fb:33:94)//源MAC地址(就是我电脑的MAC地址) 
    Type: IPv4 (0x0800)//0x0800表示使用IP协议

  1. Internet Protocol Version 4:互联网层IP包头部信息。
Internet Protocol Version 4, Src: 192.168.43.36, Dst: 39.156.66.18
    0100 .... = Version: 4//互联网协议IPv4
    .... 0101 = Header Length: 20 bytes (5)//IP包头部长度
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)//差分服务字段
    Total Length: 60//IP包的总长度
    Identification: 0xdf8c (57228)//标志字段
    Flags: 0x0000//标记字段
    Fragment offset: 0//分的偏移量
    Time to live: 128//生存期TTL
    Protocol: ICMP (1)//此包内封装的上层协议为TCP
    Header checksum: 0x05ba [validation disabled]//头部数据的校验和
    [Header checksum status: Unverified]
    Source: 192.168.43.36//来源IP地址
    Destination: 39.156.66.18//目标IP地址

  1. Transmission Control Protocol:传输层T的数据段头部信息,此处是TCP。
Transmission Control Protocol, Src Port: 80 (80), Dst Port: 50362 (50362), Seq: 1025, Ack: 447, Len: 714
Source Port: 80 (80) //源端口号
Destination Port: 50362 (50362) //目标端口号
Sequence number: 1025 (relative sequence number) //序列号(相对序列号)
[Next sequence number: 1739 (relative sequence number)] //下一个序列号
Acknowledgment number: 447    (relative ack number) //确认序列号
Header Length: 20 bytes  //头部长度
.... 0000 0001 1000 = Flags: 0x018 (PSH, ACK) //TCP标记长度
Window size value: 5896  //流量控制的窗口大小
Checksum: 0x915b [validation disabled] //TCP数据段的校验和

  1. Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议。


  1. Data(312 bytes):数据。

超星网登录案例分析

网站请求和响应

发送请求相应协议

收到响应相应协议

接下来的7个小节内容来具体对数据报头做出分析❗

Hypertext Transfer Protocol

HTTP 协议定义了客户端和服务器之间交互的消息内容和步骤,大家按照固定的步骤和格式进行通信

根据URL可以定位请求资源的位置,但是对于这个资源可能还有多种处理方法,比如是请求资源还是要删除指定资源?

这个时候浏览器将需要请求的信息,按照HTTP协议约定的格式,封装成为HTTP请求报文

HTTP主要请求方法为 GET 和 POST

请求报文和响应报文的具体形式参考课本

Line-based text data

这里面内容就是请求成功所返回的Html代码

Transmission Control Protocol

这个数据报传输使用的可靠的TCP协议,而不是UDP,所以会有相应的滑动窗口、流量控制等等相关机制,还有三次握手,四次挥手……

(插个眼,日后再复习一下……)

(插眼专用图/滑稽)

Internet Protocol Version 4

好了,接下来到了IP层,需要给上面来的数据报加上IP头部,IP数据报结构如下:

比如说45 这个字节这具体表现是ip数据报的第一行和第二行的具体信息,IP版本为IPv4,报头长度为二十个字节,往后的各个字段都是这样一一对应的关系,具体还要加强对那张ip数据报结构图的理解,要了然于胸。

Ethernet II, Src

图中三个方框的14个字节对应以太网MAC帧的前14个字节:前6个字节是目的地址,接下来的6个字节是源地址,最后两个字节是类型字段(用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据交给上一层的这个协议。0x8000代表上层使用的是IP数据报),后面是数据部分。

另外:wireshark把8字节的前序(前同步码)和4字节的FCS(帧开始界定符)都给过滤掉了,所以捕获到的帧里看不到这两部分。

Frame 75

  • 对方发送5520字节,实际收到5520字节
  • 第一行表示接口位0号

总体数据表示

其实在计算机看来,网络中的数据传输就是传输下面的这些字节

一个字节由八个位组成,而位就是我们通常所说的二进制中的0或1

后记

Wireshark 抓不到HTTPS数据包

有些时候HTTP包也抓不到抑或是抓的不全,用如下方式解决即可。

在C盘根目录下创建如下目录和文件,.log就是后缀不要txt

添加环境变量

进入wireshark软件

编辑 首选项 Protocols

参考资料

评论区