wireshark http过程
2014-09-04 23:49
190 查看
一直研究lighttpd源码,顺便看下网络编程,不说太多,开始吧
第一步 设置wireshark过滤规则
tcp.port eq 81 ,然后开始捕捉
第二步 http://183.61.16.168:81/ 打开浏览器访问这个地址
第三步,分析数据
2636 17.482576000 183.27.235.172 183.61.16.168 TCP 74 4197 > hosts2-ns [SYN] Seq=0 Win=8192 Len=0 MSS=1440 WS=4 SACK_PERM=1
2638 17.498859000 183.61.16.168 183.27.235.172 TCP 74 hosts2-ns > 4197 [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460 SACK_PERM=1 WS=512
2639 17.498994000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [ACK] Seq=1 Ack=1 Win=66240 Len=0
以上就是tcp三次握手,
2696 18.028389000 183.27.235.172 183.61.16.168 TCP 463 4197 > hosts2-ns [PSH, ACK] Seq=1 Ack=1 Win=66240 Len=401
这条就是发送http请求包了
长度为401
2698 18.051721000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [ACK] Seq=1 Ack=402 Win=15872 Len=0
这个就是服务器响应给浏览器的数据,服务器说收到了请求,然后把ack加上401等于402返回给客户端,如果不返回,浏览器会重发给服务器
2699 18.052968000 183.61.16.168 183.27.235.172 TCP 289 hosts2-ns > 4197 [PSH, ACK] Seq=1 Ack=402 Win=15872 Len=227
到这条,服务器返回首页给浏览器,长度为227 这里可以发现只有有数据,Len肯定是大于0的
2721 18.234494000 183.27.235.172 183.61.16.168 TCP 403 4197 > hosts2-ns [PSH, ACK] Seq=402 Ack=228 Win=66012 Len=341
浏览器偷偷的发起第二个请求,get /favicon.ico 这个请求,
2722 18.259705000 183.61.16.168 183.27.235.172 TCP 541 hosts2-ns > 4197 [PSH, ACK] Seq=228 Ack=743 Win=16896 Len=479
服务器说没有这个文件,然后返回给客户端
2728 18.514549000 183.61.16.168 183.27.235.172 TCP 541 [TCP Retransmission] hosts2-ns > 4197 [PSH, ACK] Seq=228 Ack=743 Win=16896 Len=479
又重发了一次
2729 18.514663000 183.27.235.172 183.61.16.168 TCP 74 4197 > hosts2-ns [ACK] Seq=743 Ack=707 Win=65532 Len=0 SLE=228 SRE=707
浏览器说收到了,给服务器一个回答
3180 23.263527000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [FIN, ACK] Seq=707 Ack=743 Win=16896 Len=0
服务器主动关闭连接,发送一个fin
3181 23.263637000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [ACK] Seq=743 Ack=708 Win=65532 Len=0
浏览器说收到了
3587 27.508143000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [FIN, ACK] Seq=743 Ack=708 Win=65532 Len=0
然后浏览器发送一个fin
3590 27.523692000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [ACK] Seq=708 Ack=744 Win=16896 Len=0
然后服务端说收到了
其实有个问题就是 seq和ack有点混乱,一时加这个,一时加那个
第一步 设置wireshark过滤规则
tcp.port eq 81 ,然后开始捕捉
第二步 http://183.61.16.168:81/ 打开浏览器访问这个地址
第三步,分析数据
2636 17.482576000 183.27.235.172 183.61.16.168 TCP 74 4197 > hosts2-ns [SYN] Seq=0 Win=8192 Len=0 MSS=1440 WS=4 SACK_PERM=1
2638 17.498859000 183.61.16.168 183.27.235.172 TCP 74 hosts2-ns > 4197 [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460 SACK_PERM=1 WS=512
2639 17.498994000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [ACK] Seq=1 Ack=1 Win=66240 Len=0
以上就是tcp三次握手,
2696 18.028389000 183.27.235.172 183.61.16.168 TCP 463 4197 > hosts2-ns [PSH, ACK] Seq=1 Ack=1 Win=66240 Len=401
这条就是发送http请求包了
长度为401
2698 18.051721000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [ACK] Seq=1 Ack=402 Win=15872 Len=0
这个就是服务器响应给浏览器的数据,服务器说收到了请求,然后把ack加上401等于402返回给客户端,如果不返回,浏览器会重发给服务器
2699 18.052968000 183.61.16.168 183.27.235.172 TCP 289 hosts2-ns > 4197 [PSH, ACK] Seq=1 Ack=402 Win=15872 Len=227
到这条,服务器返回首页给浏览器,长度为227 这里可以发现只有有数据,Len肯定是大于0的
2721 18.234494000 183.27.235.172 183.61.16.168 TCP 403 4197 > hosts2-ns [PSH, ACK] Seq=402 Ack=228 Win=66012 Len=341
浏览器偷偷的发起第二个请求,get /favicon.ico 这个请求,
2722 18.259705000 183.61.16.168 183.27.235.172 TCP 541 hosts2-ns > 4197 [PSH, ACK] Seq=228 Ack=743 Win=16896 Len=479
服务器说没有这个文件,然后返回给客户端
2728 18.514549000 183.61.16.168 183.27.235.172 TCP 541 [TCP Retransmission] hosts2-ns > 4197 [PSH, ACK] Seq=228 Ack=743 Win=16896 Len=479
又重发了一次
2729 18.514663000 183.27.235.172 183.61.16.168 TCP 74 4197 > hosts2-ns [ACK] Seq=743 Ack=707 Win=65532 Len=0 SLE=228 SRE=707
浏览器说收到了,给服务器一个回答
3180 23.263527000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [FIN, ACK] Seq=707 Ack=743 Win=16896 Len=0
服务器主动关闭连接,发送一个fin
3181 23.263637000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [ACK] Seq=743 Ack=708 Win=65532 Len=0
浏览器说收到了
3587 27.508143000 183.27.235.172 183.61.16.168 TCP 62 4197 > hosts2-ns [FIN, ACK] Seq=743 Ack=708 Win=65532 Len=0
然后浏览器发送一个fin
3590 27.523692000 183.61.16.168 183.27.235.172 TCP 62 hosts2-ns > 4197 [ACK] Seq=708 Ack=744 Win=16896 Len=0
然后服务端说收到了
其实有个问题就是 seq和ack有点混乱,一时加这个,一时加那个
相关文章推荐
- HTTP隧道代理及wireshark抓包分析HTTPS过程
- 使用Wireshark来检测一次HTTP连接过程
- [转]使用Wireshark来检测一次HTTP连接过程
- 如何编写高效的存储过程(http://www.cnblogs.com/tom-fu/archive/2008/03/09/1096993.html)
- 同一应用中http与https相互转换的过程
- JRun3.0配合IIS的安装全过程 http://www.knowsky.com/4179.html
- XP_SP2 iis5.1 http 500 错误解决过程
- 实现千万级数据分页的存储过程http://hi.baidu.com/lanxmail/blog/item/2820274632c8b0086a63e5a0.html
- Eclipse基础--Eclipse启动过程http://writeblog.csdn.net/EditGalleries.aspx
- 如何编写高效的存储过程(http://www.cnblogs.com/tom-fu/archive/2008/03/09/1096993.html)
- 略解HTTP全过程(2)
- Asp.Net运行时对象生成过程以及HttpHandler和HttpModule的处理过程。
- HTTP请求过程简介[转]
- 链接:揭开神秘面纱 山寨手机制造过程大揭密http://tech.sina.com.cn/mobile/n/2009-02-02/08222784332.shtml
- 存储过程实现分页显示效果(转至http://www.knowsky.com/344199.html)
- 实验:了解HTTP单线程下载过程
- 求救一个关于commons-httpclient组件在网络连接过程中的速度问题,好奇怪啊。。。
- HTTP协议在客户端和服务器端的传输过程 02
- 浅析插到PC上的usb-U盘_生命的开始阶段[软硬]--枚举过程(gliethttp)
- Windows Mobile 打包过程【原帖地址:http://www.winbile.net/bbs/forums/threads/1015441.aspx】