往期 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.20100 .... = 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: 0Time 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:bf6c0110 .... = Version: 6 # 协议版本.... 0000 0000 .... .... .... .... .... = Traffic Class: 0x00 (DSCP: CS0, ECN: Not-ECT).... 1110 0000 1010 0000 0000 = Flow Label: 0xe0a00Payload 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月。