过滤器的使用:

  可利用“&&”(表示“与”)和“||”(表示“或”)来组合使用多个限制规则,

比如“(http && ip.dst == 64.233.189.104) || dns”和ip.src != 10.1.2.3 or ip.dst != 10.4.5.6

如果需要将某次捕获记录保存下来方便以后再分析的话则可保存为记录文件,有时候我们只想将经过过滤的记录保存下来,只要选中“Displayed”即可

技巧:File–Export Objects–HTTP 选择需要导出的包,然后点击save As按钮,用于查看后台上传和下载的文件:wireshark导出http下载或post上传的文件

HTTP分析

  TCP协议规定HTTP进程的服务器端口号为80,通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。(注意这里指的是服务器开发的端口80)HTTP服务器则在那个端口监听客户端发送过来的请求。

http——Packet Counter      http总的统计

http.request.method == "GET" http GET请求
http.response==1 http所有的响应包
http.response==1 && http.response.code==200 响应请求成功的包
http.response==1 && http.response.code==201 201 created 提示知道新文件的URL,成功请求并创建了新的资源
http.response==1 && http.response.code==304 客户端已经缓存,不带响应体
http.response==1 && http.response.code==302 客户端继续使用原有URI http.request==1 //过滤所有的http请求,貌似也可以使用http.reques
http.request.method == "GET"
http.request.method == "POST"
http.request.uri == "/img/logo-edu.gif"
http contains "GET"
http contains "HTTP/1."
// GET包
http.request.method == "GET" && http contains "Host: "
http.request.method == "GET" && http contains "User-Agent: "
// POST包
http.request.method == "POST" && http contains "Host: "
http.request.method == "POST" && http contains "User-Agent: "
// 响应包
http contains "HTTP/1.1 200 OK" && http contains "Content-Type: "
http contains "HTTP/1.0 200 OK" && http contains "Content-Type: "
一定包含如下
Content-Type: http.host==magentonotes.com 或者http.host contains magentonotes.com //过滤经过指定域名的http数据包,这里的host值不一定是请求中的域名
http.request.method==POST过滤所有请求方式为POST的http请求包,注意POST为大写 http.cookie contains guid //过滤含有指定cookie的http数据包
http.request.full_uri==” http://task.browser.360.cn/online/setpoint” //过滤含域名的整个url则需要使用http.request.full_uri
http.content_type == “text/html” //过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包
http.server //过滤所有含有http头中含有server字段的数据包
http.request.version == "HTTP/1.1" //过滤HTTP/1.1版本的http包,包括请求和响应

  

 参考这里  十六进制截取

TCP完整分析:

  在连个连接建立的时候,SYN包里面会把彼此TCP最大的报文段长度,在局域网内一般都是1460.如果发送的包比最大的报文段长度长的话就要分片了,
被分片出来的包,就会被标记了“TCP segment of a reassembled PDU”,可以参考下图,看一下,被标记了的包的SEQ和ACK都和原来的包一致。

捕捉断开连接的数据包
tcp.window_size == 0 && tcp.flags.reset != 1

TCP三次握手:创建TCP连接
1、A端SYN=1,ACK=0 SequenceNumber=XXX
2、B端SYN=1,ACK=1 SequenceNumber=YYY Acknowledgement=XXX+1
3、A端SYN=0,ACK=1 SequenceNumber=XXX+1 Acknowledgement=YYY+1 这个TCP负载中已经可以包含业务数据了。

TCP链接撤销:
1、A端FIN=1,ACK=1 SequenceNumber=XXX Acknowledgement=YYY
2、B端FIN=1,ACK=1 SequenceNumber=YYY Acknowledgement=XXX+1
3、A端FIN=0,ACK=1 SequenceNumber=XXX+1 Acknowledgement=YYY+1

这里是Github作为Client主动发起关闭连接的请求,这里的FIN=FINish

Github 发Fin(x=6831)包; ——FIN(X)
本机收到上面的包后,做出ACK(x+1=6832)响应,跟Github说我收到了~,你别再发了; ——ACK(X+1)
你要关了,那我也准备关吧~ 于是发Fin(y=1054)包,你准备好了么?; ——FIN(Y)
Github准备好了,给出响应ACK(y+1=1055),告诉本机准备好了; ——ACK(Y+1)

TCP完整分析:

第一次握手 102
tcp.flags.syn == 1 and tcp.flags.ack == 0
第二次握手 103 重传一次 403
tcp.flags.syn == 1 and tcp.flags.ack == 1 第三次握手 ACK=1 seq=1 109-4
tcp.flags.ack == 1
&& tcp.seq==1&&tcp.ack==1&&!tcp.flags.fin==1&&!http&&tcp.len==0
不能只抓取第三次握手的数据包。 客户端发起关闭请求 104
tcp.flags.fin==1 && tcp.flags.ack==1&&ip.src==102.168.0.120
服务器响应关闭连接 94
tcp.flags.fin==1 && tcp.flags.ack==1&&ip.src!=102.168.0.120
TCP传输数据量:
!http&&!(tcp.flags.syn == 1 and tcp.flags.ack == 0)&&!(tcp.flags.syn == 1 and tcp.flags.ack == 1)&&!(tcp.flags.fin==1 && tcp.flags.ack==1)&&!(tcp.flags.ack == 1&& tcp.seq==1&&tcp.ack==1&&!tcp.flags.fin==1&&!http&&tcp.len==0)
http 第一次握手 第二次握手 第1、3次挥手 第三次握手

  

WireShark过滤解析HTTP/TCP的更多相关文章

  1. 【协议分析】Wireshark 过滤表达式实例

    Wireshark 过滤表达式实例   1.wireshark基本的语法 字符 \d          0-9的数字 \D          \d的补集(以所以字符为全集,下同),即所有非数字的字符 ...

  2. Wireshark抓包分析/TCP/Http/Https及代理IP的识别

    前言 坦白讲,没想好怎样的开头.辗转三年过去了.一切已经变化了许多,一切似乎从没有改变. 前段时间调研了一次代理相关的知识,简单整理一下分享之.如有错误,欢迎指正. 涉及 Proxy IP应用 原理/ ...

  3. (十八)WireShark 过滤语法

    1.过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1. ...

  4. wireshark过滤语法总结

    抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后参考.(脑子记不住东西) wireshark进行过滤时 ...

  5. wireshark过滤语法总结-重点偏移过滤

    http://chenjiji.com/post/3371.html 作者: CHAN | 发布: 2013 年 10 月 24 日 做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wi ...

  6. WireShark 过滤语法

    1. 过滤IP,如来源IP或者目标IP等于某个IP 例子: ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107 或者 ip.addr eq 192.1 ...

  7. 【转】wireshark过滤规则

    WireShark过滤语法 1.过滤IP,如来源IP或者目标IP等于某个IP 例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.add ...

  8. Wireshark 过滤条件

    做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后 ...

  9. WireShark过滤语法

    1.过 滤IP,如来源IP或者目标IP等于某个IP 例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168. ...

随机推荐

  1. HTML学习——标签

    1.</hr>效果: 2.<q>简短文本引用, <blockquote>长文本引用, 表象:为文本添加一个双引号,实:一个语义,引用别人的话语. 3.&nb ...

  2. 跳转语句Break、continue

    跳转语句Break.continue 1.break -跳出 作用范围:switch或循环语句; -当break语句单独存在时,下面不需要定义其他语句,因为直接被跳出,不执行下面的语句. -break ...

  3. 企业级Docker私有仓库部署(https)

    部署环境 Centos7.3 x64 docker-ce-17.06.0 docker-compose-1.15.0 Python-2.7.5(系统默认) 部署目标 使用HTTPS协议 支持Clair ...

  4. 如何在eclipse中配置反编译工具JadClipse

    Q:为什么有必要在开发环境中配置反编译工具呢? A:  当运行引用了第三方jar包项目时,突然报出了jar包中的某个类的某一行出现异常.我们想看一下这个class文件的代码时,经常出现了如下图所示的场 ...

  5. API函数详解:API大全总目录(按字母排列)

    API函数详解 http://www.feiesoft.com/api/api.html

  6. [DeeplearningAI笔记]02_3.1-3.2超参数搜索技巧与对数标尺

    Hyperparameter search 超参数搜索 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1 调试处理 需要调节的参数 级别一:\(\alpha\)学习率是最重要的需要调节的 ...

  7. 细数Python Flask微信公众号开发中遇到的那些坑

    最近两三个月的时间,断断续续边学边做完成了一个微信公众号页面的开发工作.这是一个快递系统,主要功能有用户管理.寄收件地址管理.用户下单,订单管理,订单查询及一些宣传页面等.本文主要细数下开发过程中遇到 ...

  8. ABP官方文档翻译 5.3 OData集成

    OData集成 介绍 安装 安装Nuget包 设置模块依赖 配置实体 创建控制器 配置 示例 获取实体列表 Request Response 获取单个实体 Request Response 使用导航属 ...

  9. 扩展 KMP

    扩展KMP解决这样一些问题: 给定两个字符串 S 和 T(长度分别为 n 和 m),下标从 0 开始,定义extend[i]等于S[i]...S[n-1]与 T 的最长相同前缀的长度,求出所有的ext ...

  10. CF 455D. Serega and Fun [分块 deque]

    Serega and Fun 题意: [l,r]循环右移一位,查询区间内某个数出现次数 为什么好多人用链表?反正我是不会写双向链表 完全可以分块然后模拟啊...中间的块只会插入删除一个元素呀....用 ...