一直研究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 http过程的更多相关文章

  1. wireshark使用过程中,卡死未响应

    原因 : 未知 处理办法:1.重装wireshark ----------无效果 2.卸载有道词典-----------成功,wireshark正常运行,重装有道词典该问题必现,所以问题由有道词典引起 ...

  2. Wireshark:couldn't run dumpcap in child process(附带Linux下探索过程)

    之前都是直接使用Kali里面安装好的Wireshark和Win下的,Ubuntu的来个小计 PS:解决方法不重要,我觉得更重要的是这个摸索的过程 解决方法 # 安装wireshark sudo apt ...

  3. Wireshark协议分析工具应用

    一.Wireshark简介与安装 Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用W ...

  4. Wireshark数据抓包教程之安装Wireshark

    Wireshark数据抓包教程之安装Wireshark 安装Wireshark 通过上一节的学习可以根据自己的操作系统来下载安装Wireshark了.本书中已开发版1.99.7(中文版)为主,下面介绍 ...

  5. Ubuntu16.04安装wireshark

    Wireshark是一个非常强大的抓包工具,适用于各种场合,安装配置也简单.这里仅对在Ubuntu上的安装做介绍. 首先通过apt安装WireShark: $ sudo apt-add-reposit ...

  6. unbutu下wireshark编译安装(已更新)

    今天下午在ubuntu下进行编译安装wireshark,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,有参考博文的安装编译方法,也有自己的总结和心得. 1 安装编译工具 $sud ...

  7. Wireshark漫谈(一)

    可能有人会说,一个软件的安装有什么好谈的,无非就是"同意,同意,同意......是,是,是"诸如此类的选项.的确,Wireshark软件的安装步骤是挺简单的,不过本文不是想谈安装步 ...

  8. Ubuntu 16.04安装Wireshark进行抓包

    技巧: 1.可以通过tcpdump抓取某个网卡的包,然后输出日志文件,通过Wireshark进行分析. 2.可以设置Wifi热点,然后通过手机连接这个热点,然后进行tcpdump的分析,然后输出日志文 ...

  9. 使用WireShark进行网络流量安全分析

    WireShark的过滤规则 伯克利包过滤(BPF)(应用在wireshark的捕获过滤器上) ** 伯克利包过滤中的限定符有下面的三种:** Type:这种限定符表示指代的对象,例如IP地址,子网或 ...

随机推荐

  1. ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多

    ScrollView 效果 ScrollView 说明 一个ScrollView 嵌套ListView 嵌套GridView的上拉加载更多,下拉刷新的demo. 主要是重写了GridView和Lsit ...

  2. 如何写出优秀的研究论文 Chapter 1. How to Write an A+ Research Paper

    This Chapter outlines the logical steps to writing a good research paper. To achieve supreme excelle ...

  3. MFC多文档中opencv处理图像打开、保存

    需要在C**Doc和C**View中进行相应修改 图像打开: Doc.cpp中: BOOL CCVMFCDoc::Load(IplImage** pp, LPCTSTR csFilename) { I ...

  4. c 语言练习__去掉多余的空白字符_修正

    #include <stdio.h> #include <string.h> #include <errno.h> #define BUF_SIZE 128 /* ...

  5. JVM学习笔记(四)------内存调优

    首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提 ...

  6. option配置

    wildignore:用来设置忽略的文件匹配模式,shell模式

  7. Android权限安全(11)内置计费相关安全要点

    内置计费相关安全要点 1.计费Server接口保密且Transiction 加密 (SSL) 2.仅允许配套的安全本地组件(通常是第三方付费sdk如支付宝)与计费Server通信,且安全本地组件负责与 ...

  8. [51NOD1126]求递推序列的第n项(矩阵快速幂)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126 存在参数a,b为负数的情况.这时候要这么处理: 根据mo ...

  9. [POJ1236]Network of Schools(并查集+floyd,伪强连通分量)

    题目链接:http://poj.org/problem?id=1236 这题本来是个强连通分量板子题的,然而弱很久不写tarjan所以生疏了一下,又看这数据范围觉得缩点这个事情可以用点到点之间的距离来 ...

  10. gulp browser-sync自动刷新插件

    很久没弄gulp了,都快忘了,今天又来温习下browser-sync 自动刷新插件,在安装的时候出现以下提示: $ npm install browser-sync --save-dev> ws ...