(一百七十三) 抓包体验TCP三次握手

1.TCP三次握手

第一次

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次

第二次握手服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

2.抓包体验

用手机连接上一个AP抓包就好,然后用如下命令过滤

ip.addr == 192.168.0.101 and ip.addr == 192.168.0.1 and tcp

ip.addr == 手机ip地址 and ip.addr == AP ip 地址(路由器 网关) and tcp

2.1 三次握手

可以看到上面红框框出来的和TCP三次握手步骤很相符

2.2 HTTP

可以看到三次握手成功后有个http的包

HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。

2.3 四次挥手

这个看起来不大对劲,不是四次么,为嘛FIN和ACK合在一起了,再抓一个

抓不到。。。

2.4 DNS

可以看到dns的响应方是网关或者是114.114.114.114或者8.8.8.8

114.114.114.114是国内移动、电信和联通通用的DNS,解析成功率相对来说更高,国内用户使用的比较多,速度相对快、稳定,是国内用户上网常用的DNS

8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用

发布了198 篇原创文章 · 获赞 65 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/sinat_20059415/article/details/99689016