一、 配置地址
(一) 网络地址规划表
源IP地址 |
默认网关地址 |
目的IP地址 |
域名 |
备注 |
192.168.101.30 |
192.168.101.1 |
222.218.87.132 |
www.sanguosha.com |
目的IP地址为三国杀的官网IP地址 |
(二) 连通性测试
步骤:1.按windows键打开开始菜单,输入cmd,回车
2.进入命令提示符界面,输入ping 222.218.87.132连接www.sanguosha.com的ip地址
(三) 配置IP地址步骤
- 点击电脑右下角的网络标志,点击“网络和INTERNET设置”
- 点击更改适配器选项,进入网络连接界面
- 选中已连接的网络,双击打开,点击详细信息,查看当前电脑在网络中的IP地址、子网掩码、网关、DNS服务器地址等重要的网络信息
- 关闭详细信息窗口,点击属性
- 选中“Internet协议版本4(TCP/IPV4)”,点击属性
- 点击使用下面的IP地址选项,输入要需要修改的新的IP地址、子网掩码、网关、DNS服务器地址等信息,点击确定
二、应用层
打开Google Chrome浏览器,打开Wireshark抓包软件,开始抓包,抓完包后,通过显示过滤器过滤http与IP地址为222.218.87.132的信息,如下图所示
通过复制hypertext transfer protoucol中的网址,在goole chrome浏览器中打开,内容如下图所示
三传输层
(一) TCP报文格式
下面是TCP报文格式
源端口(Source Port):55457
目的端口(Destination Port):80
序列号(Sequence number):0
32位确认序列号(Acknowledgment number):0(表示数据包收到,确认有效)
手动的数据包的头字节长度是20字节;Flags是TCP标志:含6种标志:
ACK:确认序号有效;SYN:同步序号,用来发起一个连接;FIN:发端完成发送任务;
RST:重新连接;PSH:接收方应该尽快将这个报文段交给应用层;URG:紧急指针(urgentpointer)有效
流量控制窗口大小(Window size value):64240;数据段的校验和(Checksum):0xf7cb
(二) TCP协议(第一次握手)
客户端发送一个TCP,标志位为SYN,序列号为1,代表客户端请求建立连接
(三) TCP协议(第二次握手)
服务器发回确认包,标志位为SYN,ACK.将确认序号(Acknowledgement Number)设置为客户的ACK加1,即0+1=1
(四) TCP协议(第三次握手)
客户端再次发送确认包(ACK),SYN标志位为0,ACK标志位为1,并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方。
(五) UDP协议
端口号(Sourse Port):60156
目的端口号(Destination Port):9025
长度(Length):52
数据段的校验和(Checksum):0x782c
由于udp是无连接的,可以在任何时候收发数据,加上udp本身处理简单高效,因此udp常用于包总量少的通信,如DNS,SNMP,即时通信,广播通信等等
四、网络层
(一) IP报文
IP报文格式如下:
IP协议版本(Version): 4
头部数据长度(Header length):20 byte (5)
区分服务字段(Differentiated Services Field): 0x00(DSCP:CS0,ECN:Not-ECT)
生存时间(ime to live)64 (TTL,TTL通常表示包在被丢弃前最多能通过的路由器个数,当数据包传输到一个路由器之后,TTL就自动减1,如果到0了还没有传送到目标主机,那么就自动消失)
头部校验和(header checksum):0x9792
源IP地址(Source):192.168.101.30
目的IP地址(Destination):222.218.87.132
(二) ARP协议
硬件类型(Hareware type):Ethernet(1)
协议类型(Protocol type):IPv4(0x0800)
硬件尺寸(Hardware size):6
协议尺寸(Protocol size):4
指令(Opcode): reply(2)
发送者MAC地址(Sender MAC address):WistronI_8e:f6:9f(98:ee:cb:8e:f6:9f)
发送者IP地址(Sender IP address): 192.168.101.30
目的MAC地址(Target MAC address): HuaweiTe_48:db:28(fc:ab:90:48:db:28)
目的IP地址(Target IP address): 192.168.101.1
(三) ICMP协议
Type:8 占一字节,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第二类是取值128以上的信息报文
Code:0 占亿字节,表示对应ICMP报文的代码。它与类型字段一起共同表示了ICMP报文的详细类型
Checksum:0xc360[correct];是对包括ICMP报文数据部分在内的人整个ICMP数据包的校验和,以检验报文在传输过程中是否出现了差错。其计算方法与IP报头中的校验和计算方法是一样的
Identifier:1 (0x0001) 两字节,用于标识本ICMP进程,但仅适用于回显请求和应答ICMP报文,对于目标不可达ICMP报文和超时ICMP报文等,该字段的值为0
Sequence number:3553 (0x0dcd)
wireshark考虑到window系统与Linux系统发出的ping报文(主要指ping应用字段而非包含IP头的ping包)的字节顺序不一样(windows为LE:little-endian byte order,Linux为BE:big-endian),为了体现wireshark的易用性,开发者将其分别显示出来。
五、数据链路层
(一) MAC帧格式
MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。如下图所示
(二) MAC地址分析
Ethernet II, Src: WistronI_8e:f6:9f (98:ee:cb:8e:f6:9f), Dst: HuaweiTe_48:db:28(fc:ab:90:48:db:28)
以太网协议版本II,源地址:厂名_序号:(网卡地址),目的地址:厂名_序号(网卡地址)
Destination: HuaweiTe_48:db:28(fc:ab:90:48:db:28) 目的地址:厂名_序号(网卡地址)
Source: WistronI_8e:f6:9f (98:ee:cb:8e:f6:9f) 源地址:厂名_序号(网卡地址)
Type: IP (0x0800) 帧内封装的上层协议类型为IP(十六进制码0800)
六、总结
经过这次网络协议抓包分析的作业,我对TCP/IP四层模型又有了更深的理解,对于应用层、传输层、网络层和数据链路层各层数据的获取和格式的印象都更加深刻了,在本次作业中,我遇到了几个难题,第一个是cmd命令行ping不通ip地址,但是能上网,我通过一段时间的研究,终于找到了解决方法,要cd \Windows\System32 在进行ping操作;第二个是不知道数据链路层的MAC帧格式和MAC地址解析应该怎么做,幸好经过一段时间的搜寻,终于在网上找到了参考的文章,顺利完成既定目标。虽然做这个作业做了很久,但是我觉得自己还是没有分析透彻每一个层之间的关系,希望在以后的学习里能够分析的更加细致