【网络技术】【Kali Linux】Wireshark嗅探(十)IPv4和IPv6

往期 Kali Linux 上的 Wireshark 嗅探实验见博客:

【网络技术】【Kali Linux】Wireshark嗅探(一)ping 和 ICMP

【网络技术】【Kali Linux】Wireshark嗅探(二)TCP 协议

【网络技术】【Kali Linux】Wireshark嗅探(三)用户数据报(UDP)协议

【网络技术】【Kali Linux】Wireshark嗅探(四)域名系统(DNS)

【网络技术】【Kali Linux】Wireshark嗅探(五)文件传输协议(FTP)

【网络技术】【Kali Linux】Wireshark嗅探(六)地址解析协议(ARP)

【网络技术】【Kali Linux】Wireshark嗅探(七)超文本传送协议(HTTP)

【网络技术】【Kali Linux】Wireshark嗅探(八)动态主机配置协议(DHCP)

【网络技术】【Kali Linux】Wireshark嗅探(九)安全HTTP协议(HTTPS协议)

一、实验目的

本次实验使用Wireshark流量分析工具进行网络嗅探,旨在初步了解IP协议(IPv4和IPv6)的工作原理。由于本期实验不涉及攻防内容,故仅在Windows 11主机上进行。

二、IP协议简介

IP(Internet Protocol)协议,是网际层(IP层)当中最主要的协议,用于计算机网络中的通信和数据包发送。简单来说,计算机上的NIC(Network Interface Card),网络适配器,在接入网络后分配IP地址。目前,使用最广泛的仍然是IPv4协议,然而,随着IPv4地址逐渐被耗尽,未来将转而使用IPv6代替。
Windows主机查看IP地址的方法:
方法1:使用ipconfig命令:
在这里插入图片描述
方法2(较复杂):
控制面板——网络——适配器属性——ipv4设置:
在这里插入图片描述
Unix主机查看IP地址的方法(此处以Ubuntu为例):

使用ifconfig命令:
在这里插入图片描述

三、IPv4简介和报文结构(参考教材)

IPv4 address: 32-bit identifier for host, router interface.
Interface: connection between host/router and physical link

  • routers typically have multiple interfaces
  • hosts typically have one or two interface(s).
  • e.g. 223.1.1.1 = 11011111 (223) 00000001 (1) 00000001 (1) 00000001 (1)

在这里插入图片描述

四、IPv6简介和报文结构(参考教材)

IPv6: Motivation:

  • initial motivation: 32-bit ipv4 address space soon to be completely allocated.
  • additional motivation:
  • (1) header format helps speed processing/forwarding
  • (2) header changes to facilitate QoS (Quality of Service)

IPv6 datagram format:

  • fixed-length 40 bytes header
  • no fragmentation allowed

在这里插入图片描述

  • priority (pri): identify priority among datagrams in flow
  • flow label: identify datagrams in the same “flow”. (Concept of “flow” not well defined)
  • next header (next hdr): identify upper layer protocol for data.

五、IPv4报文抓取及分析

过滤条件:ip

抓取到的报文举例:

在这里插入图片描述协议报文内容(协议栈结构):

# layer 1
Frame 4: 90 bytes on wire (720 bits), 90 bytes captured (720 bits) on interface \Device\NPF_{6D6E1E4D-E75A-45D1-9A8C-A0E81BEF93DC}, id 0
# layer 2
Ethernet II, Src: 5e:52:84:10:79:64 (5e:52:84:10:79:64), Dst: IntelCor_63:91:33 (38:87:d5:63:91:33)
# layer 3
Internet Protocol Version 4, Src: 180.163.71.185, Dst: 172.20.10.2
    0100 .... = Version: 4  # 协议版本
    .... 0101 = Header Length: 20 bytes (5)  # 报头长度
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 76  # 报文总长度
    Identification: 0x7ab7 (31415)
    000. .... = Flags: 0x0
    ...0 0000 0000 0000 = Fragment Offset: 0
    Time to Live: 74  # TTL(防止拥塞)
    Protocol: ICMP (1)
    Header Checksum: 0x4387 [validation disabled]  # 报头校验和
    [Header checksum status: Unverified]  # 校验和未被校验
    Source Address: 180.163.71.185  # 源地址
    Destination Address: 172.20.10.2  # 目的地址
# layer 4
Internet Control Message Protocol

六、IPv6报文抓取及分析

过滤条件:ipv6

抓取到的报文举例:

在这里插入图片描述

协议报文内容(协议栈结构):

# layer 1
Frame 3: 227 bytes on wire (1816 bits), 227 bytes captured (1816 bits) on interface \Device\NPF_{6D6E1E4D-E75A-45D1-9A8C-A0E81BEF93DC}, id 0
# layer 2
Ethernet II, Src: 5e:52:84:10:79:64 (5e:52:84:10:79:64), Dst: IntelCor_63:91:33 (38:87:d5:63:91:33)
# layer 3
Internet Protocol Version 6, Src: fe80::5c52:84ff:fe10:7964, Dst: fe80::a6df:f90:682a:bf6c
    0110 .... = Version: 6  # 协议版本
    .... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT)
    .... 1110 0000 1010 0000 0000 = Flow Label: 0xe0a00
    Payload Length: 173  # 载荷长度
    Next Header: UDP (17)  # 指示上层协议
    Hop Limit: 255  # 跳数限制
    Source Address: fe80::5c52:84ff:fe10:7964  # 源地址
    Destination Address: fe80::a6df:f90:682a:bf6c  # 目的地址
# layer 4
User Datagram Protocol, Src Port: 53, Dst Port: 63107
# layer 5
Domain Name System (response)

七、参考文献

1、《计算机网络(第7版)》,谢希仁 编著,北京,电子工业出版社,2017年10月;

2、《Kali Linux 2 网络渗透测试——实践指南(第2版)》,李华峰 著,北京,人民邮电出版社,2021年3月。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 23:24:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 23:24:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 23:24:02       82 阅读
  4. Python语言-面向对象

    2024-04-24 23:24:02       91 阅读

热门阅读

  1. 解耦、异步、削峰是什么

    2024-04-24 23:24:02       32 阅读
  2. 前端 -- if-else嵌套地狱

    2024-04-24 23:24:02       31 阅读
  3. class090 贪心经典题目专题2【左程云算法】

    2024-04-24 23:24:02       30 阅读
  4. 最短路问题之Dijkstra算法 洛谷 单源最短路径

    2024-04-24 23:24:02       37 阅读
  5. 上海计算机学会4月月赛 丙组题解

    2024-04-24 23:24:02       31 阅读
  6. MySQL的MVCC机制

    2024-04-24 23:24:02       38 阅读
  7. Spring boot + MyBatis-Plus3

    2024-04-24 23:24:02       31 阅读
  8. MongoDB应用:forEach方法实际应用

    2024-04-24 23:24:02       38 阅读