wireshark基础

来源:互联网 发布:魂断威尼斯知乎 编辑:程序博客网 时间:2024/05/21 17:16
抓包软件的基础是为了让你知道网络通信当中客户端与服务器之间如何建立通信,通信建立后数据交换以及断开通信的详细过程而形成的。wireshark功能强大,能够抓到从底层到表层:物理层(Frame)的数据帧、数据链路层(Ethernet II)以太网帧头部信息、网络层(Internet Protocol Version 4)IP报头信息、传输层(Transmission Control Protocol)TCP数据头信息以及应用层(Hypertext Transfer Protocol)信息如HTTP协议

图中HTTP那行显示了GET方式,表明客户端与服务器已经成功建立了通信,并且浏览器已经成功通过GET的方法请求到了内容。可以看到前三行包含tcp的三次握手过程。第一行客户端向服务器发送[SYN]
(syn 和ack分别什么意思),其中包含seq,此处seq为0。第二行显示服务器收到请求返回一个[SYN, ACK],其中包含seq,仍为0,以及ack=1。浏览器收到后返回一个[ACK],讲Seq置为1(即为之前的Seq+1),同时返回ack,仍为1。至此,三次握手完成,通信建立,此连接基于TCP连接。

接下来详解TCP三次握手:

第一次握手:客户端发送一个TCP,其Seq(序列号)为X,此处为0,Flags(标志位)为SYN,表示客户端请求建立连接。


第二次握手:
服务器发回确认包,标志位为SYN,ACK,同时将确认序号ACK设为X+1,即客户端的Seq num+1所得,此处为1,同时置seq为Y,此处为0(ps.一个是请求序号SYN,一个是确认序号ACK)


第三次握手:
客户端发送确认包ACK,ack的值为Y+1,即为服务器发来的seq num+1,此处为1.同时重新设置Seq为Z,此处为1



感悟:1、还得花点时间重新整理OSI各层的关系以及各层到底是干嘛的
          2、重新熟悉一遍TCP三次握手及四次挥手
          3、搞清楚SYN, ACK, Seq分别代表什么,为什么这么设置
          4、按照此处加粗内容熟悉数据在各层是怎么传递的,各层的格式又是如何
          5、以后也得多写写关于软件的操作,总是有好处的
0 0
原创粉丝点击