[转]使用Wireshark来检测一次HTTP连接过程
安装好之后,先配置一下,选择Capture->Options,先设定你要嗅探的网络接口,
然后在Capture Filter里输入tcp port http,说明只监听80端口的tcp请求。
设置好这些,你就可以点击Start开始检测了。
打开浏览器随便浏览一个网页,你就会得到类似下面的结果:

我浏览的是Google的页面。这里211.100.209.50是浏览器,66.249.89.147就是服务器。
下面具体解释一下这个HTTP连接过程:
--------------------------------------------------------------
浏览器向服务器发出连接请求。
服务器回应了浏览器的请求,并要求确认。
浏览器回应了服务器的确认,连接成功。
浏览器发出一个页面HTTP请求。
服务器确认。
服务器发送数据。
客户端确认。
服务器响应了一个200状态,表示成功。
客户端发出一个图片HTTP请求。
服务器响应了一个304HTTP头,告诉浏览器别打扰它,直接用缓存。
客户端又发出一个图片HTTP请求。
服务器还是响应了一个304HTTP头。
浏览器确认。
服务器准备关闭连接,并要求确认。
浏览器确认。
浏览器准备关闭连接,并要求确认。
服务器确认。
-------------------------------------------------------------- 其中包含了我们常说的TCP三次握手的过程。 当“服务器回应了浏览器的请求,并要求确认”的时候,
如果浏览器没有正常的确认,服务器就会在SYN_RECV状态等下去,直到超时。
如果恶意程序伪造了大量类似的请求,那就是常说的SYN洪水攻击了。
[转]使用Wireshark来检测一次HTTP连接过程的更多相关文章
- (笔记)Linux下检测网卡与网线连接状态
http://blog.chinaunix.net/space.php?uid=20357359&do=blog&cuid=1798479 Linux下检测网卡与网线连接状态,使用io ...
- FTP协议的粗浅学习--利用wireshark抓包分析相关tcp连接
一.为什么写这个 昨天遇到个ftp相关的问题,关于ftp匿名访问的.花费了大量的脑细胞后,终于搞定了服务端的配置,现在客户端可以像下图一样,直接在浏览器输入url,即可直接访问. 期间不会弹出输入用户 ...
- JAVA ANDROID SOCKET通信检测(SERVER)连接是否断开
Pre 解决思路 代码后记: 客户端app上的部分代码 调用: 服务器上: 客户端判断服务器是否还活着代码: PRE 在利用socket写通讯程序的时候,想检测服务器是否还活着. 从网上找了很多资料, ...
- sqlserver检测数据库是否能连接的小技巧
有时候可能需要检测下某台机器的服务是不是起来了,或者某台机器的某个库是不是能被连接又不能打开ssms也不想登陆服务器的话就可以用这个方法. 1.在桌面上右键创建个文本,然后改后缀名为udl以后保存(1 ...
- Wireshark抓包实例诊断TCP连接问题
转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍 前文论述了TCP基础知识,从本节开始,通过TCP抓包实例来诊断TCP常见问 ...
- 页面检测网络外网连接- 网页基础模块(JavaScript)
方法一 html 添加图片标签 加载外站图片 <img id="connect-test" style="display:none;" onload=&q ...
- qt检测网络连接状态【只能检测和路由器的连接,不能测试到外网的连接】
#include <QCoreApplication>#include <QDebug>#include <QTextStream>#include <QDi ...
- 深入浅出HTTP协议(WEB开发和面试必备)
1. 基础概念篇 a.简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...
- 深入理解http/https协议
深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...
随机推荐
- 【Permutation Sequence】cpp
题目: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...
- vim中插入递增数
假设生成0-9的递增数 1.插入数字1,yy复制,9p 2.输入命令 let i= | g//s//\=i/ | let i=i+1 3.结果:
- Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理
在前几节文章中我们讲述了微信公众号环境的搭建.如何接入微信公众平台.以及微信服务器请求消息,响应消息,事件消息以及工具处理类的封装:接下来我们重点说一下-微信服务器post消息体的接收及消息的处理,这 ...
- python 模块初识
python的强大之处在于有丰富的实现各种功能的标准库和第三方库,另外还允许用户自己建立库文件, 标准模块(又称为库)包括sys, os, glob, socket, threading, _thre ...
- DFS和BFS遍历的问题
来自https://github.com/soulmachine/leetcode 广度优先搜索 输入数据:没有什么特征,不像dfs需要有递归的性质.如果是树/图,概率更大. 状态转换图:数或者DAG ...
- docker exec小脚本
经常要使用docker exec -it containerID bash 进入docker内部进行一些操作,干脆把它写成shell脚本节省时间. # 查看需要操作的容器id $ docker ps ...
- ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Incompatible namespaceIDs
用三台centos操作系统的机器搭建了一个hadoop的分布式集群.启动服务后失败,查看datanode的日志,提示错误:ERROR org.apache.hadoop.hdfs.server.dat ...
- 微信小程序--问题汇总及详解之清空电话号码
wxml: <view class="btns" wx:for="{{phoneList}}" wx:key="id"> < ...
- POJ--2823--Sliding Window----单调队列问题
Sliding Window Time Limit:12000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Des ...
- Python的生成器Generator小结
一. 生成器的介绍 在介绍生成器(Generator)之前,我们首先需要熟悉列表生成式,列表生成式是Python内置的简单又强大的用来创建列表的生成式. 举个例子, 如果我们想生成[1*1,2*2,3 ...