尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情
本站主页面和blog页面暂时一样,目的是为了百度收录,百度收录之后,会将主页换回引导页~

站点信息

文章数目:195
已运行时间:
目录
  1. 查看信息
    1. 查看本地的 mac 地址
    2. ping 命令
  2. WireShark 使用
    1. WireShark 使用及面板功能区域
    2. 1 区域-显示过滤器
    3. 2 区域-获取的数据包
    4. 3 区域-单个数据包各层详细内容
  3. 超星网登录案例分析
    1. 网站请求和响应
    2. 发送请求相应协议
    3. 收到响应相应协议
    4. Hypertext Transfer Protocol
    5. Line-based text data
    6. Transmission Control Protocol
    7. Internet Protocol Version 4
    8. Ethernet II, Src
    9. Frame 75
    10. 总体数据表示
  4. 后记
    1. Wireshark 抓不到 HTTPS 数据包
    2. 参考资料

尼采般地抒情

尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情
本站主页面和blog页面暂时一样,目的是为了百度收录,百度收录之后,会将主页换回引导页~

站点信息

文章数目:195
已运行时间:

学习网络协议分析工具 WireShark,利用 WireShark 捕获并分析以太网报文结构,最重要的是后面超星网登录案例分析,用实际例子将计网的所学知识串起来。
文章更新内容说明:无线上网和有线上网的 MAC 地址是不一样的
【查看本地地址的截图是在家里的查看,wireshark 的使用是在学校】

查看信息

查看本地的 mac 地址

image.png
image.png

ping 命令

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

image.png

WireShark 使用

WireShark 使用及面板功能区域

进入软件,若成功适配电脑网卡,则出现如下类似接口列表
image.png
直接双击上图中 WLAN 行即可抓包,也可以如下设置网卡启动抓包
image.png
image.png

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协议

image.png

  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地址

image.png

  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数据段的校验和

image.png

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

  2. Data(312 bytes):数据。

image.png

超星网登录案例分析

网站请求和响应

image.png

发送请求相应协议

image.png

收到响应相应协议

image.png

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

Hypertext Transfer Protocol

image.png

HTTP 协议定义了客户端和服务器之间交互的消息内容和步骤,大家按照固定的步骤和格式进行通信
根据 URL 可以定位请求资源的位置,但是对于这个资源可能还有多种处理方法,比如是请求资源还是要删除指定资源?

image.png
这个时候浏览器将需要请求的信息,按照 HTTP 协议约定的格式,封装成为 HTTP 请求报文
HTTP 主要请求方法为 GET 和 POST
image.png

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

Line-based text data

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

Transmission Control Protocol

image.png
这个数据报传输使用的可靠的 TCP 协议,而不是 UDP,所以会有相应的滑动窗口、流量控制等等相关机制,还有三次握手,四次挥手……
(插个眼,日后再复习一下……)
huaji-779c5947261d2633.gif
(插眼专用图/滑稽)

Internet Protocol Version 4

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

Ethernet II, Src

image.png
image.png

图中三个方框的 14 个字节对应以太网 MAC 帧的前 14 个字节:前 6 个字节是目的地址,接下来的 6 个字节是源地址,最后两个字节是类型字段(用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据交给上一层的这个协议。0x8000 代表上层使用的是 IP 数据报),后面是数据部分。
另外:wireshark 把 8 字节的前序(前同步码)和 4 字节的 FCS(帧开始界定符)都给过滤掉了,所以捕获到的帧里看不到这两部分。

Frame 75

image.png

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

总体数据表示

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

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

image.png

后记

Wireshark 抓不到 HTTPS 数据包

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

在 C 盘根目录下创建如下目录和文件,.log 就是后缀不要 txt
image.png
添加环境变量
image.png
进入 wireshark 软件
编辑 ``首选项 Protocols
image.png

参考资料

博客内容遵循: 署名-非商业性使用-禁止演绎 4.0 国际(CC BY-NC-ND 4.0)

本文永久链接: https://www.wztlink1013.com/blog/bw80k6/

编辑: 部署: 订阅:

评论区

Twikoo 转换 utterances

最新评论

Loading...