精华内容
下载资源
问答
  • http抓包 千次阅读
    2022-03-22 16:47:07

    步骤

    输入http.host == 域名得到ip
    用过滤器输入ip.addr == 得到和目的地址有关的PDU
    可以点击协议等来选择信息
    Analyze菜单→ Follow TCP Stream子菜单,跟踪TCP流,选择其中任意一对HTTP请求和响应,分析HTTP请求和响应的格式
    输入"http.set_cookie or http.cookie使Wireshark显示包含set-cookie的HTTP响应和包含cookie的HTTP请求

    分析

    根据网际层的PDU结构可知,其包含source address和destination address,可以从ip的数据报查到

    得到202.196.64.48
    浏览器中输入验证,正确

    在这里插入图片描述

    请求方法: get
    URL: /template_files/1/css/bootstrap.css
    版本: HTTP/1…1
    是否采用持续连接: 是(1.1使用持续连接)
    从本HTTP请求中,任选5个首部行,将其首部字段名和值填入以下5行中
    Host: www.zzu.edu.cn
    http.user_agent Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
    Accept: text/css,/;q=0.1
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    在这里插入图片描述

    表2.2 HTTP请求中的数据
    版本: HTTP/1.1
    状态码: 200
    短语: OK
    从本HTTP响应中,任选5个首部行,将其首部字段名和值填入以下5行中
    http.date Wed, 16 Mar 2022 09:24:45 GMT
    http.content_length_header 19691
    http.connection Keep-Alive
    Content-Type text/css
    http.last_modified Thu, 13 Aug 2020 02:00:54 GMT

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    可以知道,用户访问后,服务器端会返回给客户端一个set_cookie,利用此cookie可以跟踪其访问的信息,当用户再次访问信息时,这个cookie就很有用,比如不用登录。也就是说向该服务器标识用户。

    浏览器与web服务器之间建立了几条TCP连接,这样可以解除HTTP线程阻塞,利用多线程访问,可以加快访问速度

    更多相关内容
  • HTTP抓包教程

    2019-10-12 17:36:15
    http抓包教程,抓包实战,基于fiddler的http抓包及相关解析,后续操作,mock数据等
  • C# http发包抓包程序

    2018-03-19 16:47:15
    C# http发包抓包程序,支持模拟各种浏览器,界面简单,方便做发包和抓包使用
  • HTTP抓包分析

    千次阅读 2020-06-06 21:33:38
    HTTP:超文本传输协议,定义了web客户向web服务器请求页面的方式,以及服务器向客户传送页面的方式,使用TCP作为传输层协议,HTTP是无状态的。 HTTP连接方式? HTTP既可以采用持续连接,也可以使用非持续连接,默认...

    https://play.google.com/apps/test/RQFlordB7z8/ahAIGJVrcSQNYxHGIYbG31j5ctZzYMIhwLHRyBXkaNfF1hWjOsI-P0oBIeGy-R0igQciAypFSaAdXXFhfEGOw_48xy

    Q&A

    HTTP是什么?作用?
    HTTP:超文本传输协议,定义了web客户向web服务器请求页面的方式,以及服务器向客户传送页面的方式,使用TCP作为传输层协议,HTTP是无状态的,对于交互场景没有记忆能力。

    HTTP连接方式?
    HTTP既可以采用持续连接,也可以使用非持续连接,默认状态下使用持续连接,即每个请求和响应都通过相同的TCP连接传送。
    非持续连接使用并行可以降低访问时间。

    HTTP请求报文格式:
    在这里插入图片描述
    第一行是请求行,其余是首部行。
    请求行包括三个字段:
    (1)请求方法字段,包括GET,POST等,二者的区别在于GET请求的页面不依赖用户信息,但表单生成的请求报文不是必须用POST方法,也可以在URL中直接包含。
    (2)URL字段
    (3)HTTP版本字段
    首部行:告诉服务器请求网站(host),使用持续/非持续连接,浏览器版本,语言等信息

    HTTP响应报文:
    包含三个部分:
    (1)初始状态行:包含协议版本字段,状态码,状态信息
    (2)首部行:包含是否关闭TCP连接,日期,内容长度等信息
    (3)实体:正文

    cookie的作用:
    因为HTTP是无状态的,为了把用户身份和请求关联起来,HTTP使用了cookie。
    cookie的四个组件:
    (1)HTTP响应报文中的一个cookie首部行
    (2)HTTP请求报文中的一个cookie首部行
    (3)用户端系统由浏览器管理的cookie文件
    (4)web站点的后端数据库

    HTTP抓包

    (1)普通http
    (1)打开浏览器输入:http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html
    在这里插入图片描述
    本机向服务器发送的请求,服务器返回的包:
    在这里插入图片描述
    HTTP请求报文:
    在这里插入图片描述
    HTTP响应报文:
    在这里插入图片描述
    服务器上HTML文件的最近一次修改是什么时候?看Last-Modified,竟然是在一分钟前!这是因为服务器的设置。

    (2)条件get
    输入http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html,再输入一次,抓包发现第一个不是条件get,第二次是。第一次服务器返回了html内容,第二次服务器发现没有改变,返回状态字304,Not Modified。
    在这里插入图片描述

    (3) 长文件检索

    访问http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html,发现服务器返回了四个由TCP传输的包
    在这里插入图片描述

    (4) 嵌入对象的HTML
    访问,http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html,页面包含一段文字和两张图片。
    发现捕获了好多包,其中有三个GET,一个是请求页面,两个是请求图片,符合预期
    在这里插入图片描述
    判断是否是并行下载?
    因为两张图片的请求有时间差,所以应该不是并行,而是串行。

    (5)HTTP认证
    访问受密码保护的网站:http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html,输入用户名:wireshark-students,密码:network。
    捕获了四个包:
    在这里插入图片描述
    第一次服务器返回782状态字,显示没有授权。
    第二次GET请求中包含了输入的用户名和密码:
    在这里插入图片描述

    展开全文
  • C#抓包,SnifferHttp使用网卡获取Http请求数据,可以用于监控网卡数据包。
  • python爬虫学习——HTTP抓包工具Fiddler

    千次阅读 2022-03-30 22:06:14
    ​ Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和...简单的说,它是一款强大的Web调试工具(包含的抓包功能),能记录所有客户端和服务器的HTTP请求和响应,还能模拟HTTP请求的发送。 ​...

    一、Fiddler介绍

            Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。 

            简单的说,它是一款强大的Web调试工具(包含的抓包功能),能记录所有客户端和服务器的HTTP请求和响应,还能模拟HTTP请求的发送。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     

    二、下载与安装配置

    (一)下载与安装

    官网下载:Fiddler | Web Debugging Proxy and Troubleshooting Solutions

    百度网盘下载:链接:https://pan.baidu.com/s/18OWhSGNnCZamTairgPB5Bg 
    提取码:8888

    提示:如果通过官网下载不了,可能你被屏蔽了!可以换百度网盘下载!!!

    安装方法很简单,下载压缩包加压后只有一个.exe安装程序,直接点击安装即可!

    f79ef48fbe5e4ff291e620b263aa5331.png 

    安装完成后启动程序:

    94037724779348b4af8d0612153f6893.png

    可以右键点击图标创建一个快捷方式拖到桌面,方便以后的打开!

    (二)配置Fiddler

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     

    第一步:在顶部菜单栏找到Tools

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     第二步:点击Tools,在打开的会话窗点击Options

     watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     完成1,2后,进行第3,打开Actions

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_14,color_FFFFFF,t_70,g_se,x_16

     点击红笔画出的按钮

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     最后选择Yes,一路🆗!!!

    第三步:配置Connections,按照我图片的这样配置就行!!

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

    第四步:看清楚哦!到此全部配置完成,点击OK,然后重启FIddler。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     三、安装和配置SwitchyOmega插件

            本人喜欢使用的浏览器是谷歌Chrome,当每次使用Fiddler抓包工具时,就需要进行对浏览器修改代理服务器,每次都重复这样操作会使我们很烦!!!

            所以我们有必要安装一个SwitchyOmega插件进行管理Chrome浏览器的代理。

    (一)安装

    官网下载:https://switchyomega.com/

    百度网盘下载:链接:https://pan.baidu.com/s/1Bg4IEfJ-oac4vPyEZg4zJQ 
    提取码:8888

    提示:官网可能会打不开,可以直接百度网盘下载!!!

    (二)配置

    第一步:下载完成后解压会看到下面两个文件:

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_13,color_FFFFFF,t_70,g_se,x_16

     第二个就是我们的目标文件!!!

    第二步:打开Chrome浏览器,点击右上角的三个点点,打开如下界面,打开扩展程序窗口。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     第三步:打开开发者模式,然后加载已解压的扩展程序,即刚刚我们第一步下载完成的目标文件。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     第四步:导入目标文件

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_15,color_FFFFFF,t_70,g_se,x_16

    第五步:进去配置Fiddler

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

    找到选项:

     watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

    新建情景模式,按照我的配置来,最后点击应用选项,保存成功!!!

     watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_20,color_FFFFFF,t_70,g_se,x_16

     第六步:重启浏览器和Fiddler,到此全部配置完成!!!

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_10,color_FFFFFF,t_70,g_se,x_16

    点击浏览器右上角该图标可以打开扩展程序

     watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p2l546l5pa56ZW_,size_8,color_FFFFFF,t_70,g_se,x_16

     点击可以随意切换代理服务器!!!

    四、问题与解决方法

    (一)打开Fiddler后Chrome浏览器无法正常打开网页

     解决办法:重新看回上面的Fiddler和SwitchyOmega配置步骤,检查是否自己疏忽了。

    如果确保没错后,问题还是没能解决,欢迎下面评论区留言,小玥看到后会一一解答!!!

    (二)重启Chrome浏览器后,发现右上角的扩展程序图标不见啦

    解决办法:重新操作上面SwitchyOmega配置步骤!!!

            因为该SwitchyOmega插件不是通过Chrome官方商店下载的,由于升级后的Chrome浏览器安全问题,每次重启浏览器,会重置一些操作!也考虑过从Chrome官方商店下载插件,但是商店很多时候都打不开等等原因!!!

            该问题也许还有其他更优的解决办法,知道的评论区分享一下!!!

     风里雨里,小玥评论区等你!!!三连,必回!!!

     

     

     

    展开全文
  • 本文章将围绕WireShark抓包工具展开详细介绍,一篇文章就可以让你会用WireShark。WireShark简介:Wireshark是一款最流行和强大的开源数据包抓包与分析工具,可以截取各种网络数据包,并可以查看网络数据包详细信息。...

    WireShark抓包使用

    一、WireShark简介

    1、什么是WireShark?

    ​ Wireshark是一款最流行和强大的开源数据包抓包与分析工具,可以截取各种网络数据包,并可以查看网络数据包详细信息。

    2、WireShark的用途

    ​ 该软件在网络安全与取证分析中起到了很大作用,作为一款网络数据嗅探与协议分析器,已经成为网络运行管理、网络故障诊断、网络应用开发与调试的必用工具。

    二、WireShark的基础使用

    使用须知

    ​ 1、wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。

    ​ 2、使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。

    ​ 3、wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。

    ​ 4、wireshark的窗口介绍
    在这里插入图片描述

    数据包列表(Packlist List)

    No :数据包的序列号
    Time:数据抓取的时间
    Source:源地址
    Destination:目的地址
    Protocol: 协议
    Length:包长度
    Info:数据包内容
    

    我们可以选中数据包,右键追踪流
    在这里插入图片描述
    追踪流查看详细信息:

    这样就可以比较清晰的看到一个数据流过程。还可以看到自己的cookie,host,浏览器信息,等http数据包的详细内容。
    在这里插入图片描述
    数据包细节(Packet Details):
    在这里插入图片描述
    5、着色规则:

    ​ 数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏【视图】–>【着色规则】。如下所示,可快速根据着色规则,筛选需要的数据:

    可以粗略地看到,黑色背景代表报文的各类错误,红色背景代表各类异常情景,其它颜色代表正常。
    在这里插入图片描述

    Bad TCP:tcp.analysis.flags && !tcp.analysis.window_update
    即TCP解析出错,通常重传,乱序,丢包,重复响应都在此条规则的范围内。
    
    HSRP State Change:hsrp.state != 8 && hsrp.state != 16
    HSRP即热备份路由协议(Hot Standby Router Protocol),这条规则表示状态非active和standby。
    
    Spanning Tree Topology  Change:stp.type == 0x80
    生成树协议的状态标记为0x80,生成树拓扑发生变化。
    
    OSPF State Change:ospf.msg != 1
    OSPF(Open Shortest Path First,开放式最短路径优先协议)的msg类型不是hello。
    
    ICMP errors:icmp.type eq 3 || icmp.type eq 4 || icmp.type eq 5 || icmp.type eq 11 || icmpv6.type eq 1 || icmpv6.type eq 2 || icmpv6.type eq 3 || icmpv6.type eq 4
    ICMP协议错误,协议的type字段值错误。
    
    ARP:arp【即ARP协议】
    
    ICMP:icmp || icmpv6【即icmp协议】
    
    TCP RST:tcp.flags.reset eq 1【TCP流被RESET。】
    
    SCTP ABORT:sctp.chunk_type eq ABORT【串流控制协议的chunk_type为ABORT(6)】
    
    TTL low or unexpected:( ! ip.dst == 224.0.0.0/4 && ip.ttl < 5 && !pim) || (ip.dst == 224.0.0.0/24 && ip.dst != 224.0.0.251 && ip.ttl != 1 && !(vrrp || carp))【TTL异常。】
    
    Checksum Errors:eth.fcs_bad==1 || ip.checksum_bad==1 || tcp.checksum_bad==1 || udp.checksum_bad==1 || sctp.checksum_bad==1 || mstp.checksum_bad==1 || cdp.checksum_bad==1 || edp.checksum_bad==1 || wlan.fcs_bad==1
    【条件中的各类协议的checksum异常,在PC上抓包时网卡的一些设置经常会使Wireshark显示此错误。】
    
    SMB:smb || nbss || nbns || nbipx || ipxsap || netbios【Server Message Block类协议。】
    
    HTTP:http || tcp.port == 80 || http2【HTTP协议,这是很简陋的识别方法。】
    
    IPX:ipx || spx【互联网络数据包交换(Internet work Packet Exchange)类协议。】
    
    DCERPC:dcerpc【即DCE/RPC,分散式运算环境/远端过程调用(Distributed Computing Environment / Remote Procedure Calls)协议。】
    
    Routing:hsrp || eigrp || ospf || bgp || cdp || vrrp || carp || gvrp || igmp || ismp【路由类协议。】
    
    TCP SYN/FIN:tcp.flags & 0x02 || tcp.flags.fin == 1【TCP连接的起始和关闭。】
    
    TCP:tcp【TCP协议。】
    
    UDP:udp【UDP协议。】
    
    Broadcast:eth[0] & 1【广播数据。】
    
    
    

    ​ 6、显示过滤器:用于设置过滤条件进行数据包列表的过滤,菜单路径:【分析】->Display Filters
    在这里插入图片描述
    7、数据列表区:显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息,不同协议的数据包使用不同的颜色区分显示
    在这里插入图片描述
    8、数据详细区:在数据列表中显示指定的数据包,在数据包详细信息中会显示数据包的所有详细信息内容,数据包详细信息面板是最重要的,用来查看协议中的每一个字段,各行信息分别为

    (1)Frame:物理层的数据帧情况
    在这里插入图片描述
    (2)Ethernet II:数据链路层以太网帧头部信息
    在这里插入图片描述

    (3)Internet ProtocolVersion 4:互联网层ip包,头部信息
    在这里插入图片描述
    (4)Transmiss control Protocal:传输层的数据段,头部信息,此处是TCP
    在这里插入图片描述

    在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG。对于我们日常的分析有用的就是前面的五个字段。它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有DATA数据传输,RST表示连接重置。

    (5)Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议
    在这里插入图片描述

    如何抓包

    方式一:服务器命令

    ​ tcpdump -i any -w test.pcap
    

    ​抓取所有网络接口数据包,并保存到当前路径的test.pcap文件中;
    Linux tcpdump命令用于倾倒网络传输数据; 命令格式:tcpdump -i 接口 -w 保存的路径 host 主机IP and
    port 端口号 -s0 -C 包大小

    Linux tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

    -i:interface 指定tcpdump 需要监听的接口. 如果没有指定, tcpdump 会从系统接口列表中搜寻编号最小的已配置好的接口(不包括 loopback 接口).

    -w: 把包数据直接写入文件而不进行分析和打印输出. 这些包数据可在随后通过-r 选项来重新读入并进行分析和打印.

    -s:snaplen 设置tcpdump的数据包抓取长度为snaplen, 如果不设置默认将会是68字节.

    -C:file-size (nt: 此选项用于配合-w file 选项使用) 该选项使得tcpdump 在把原始数据包直接保存到文件中之前, 检查此文件大小是否超过file-size. 如果超过了, 将关闭此文件,另创一个文件继续用于原始数据包的记录. 新创建的文件名与-w
    选项指定的文件名一致, 但文件名后多了一个数字.该数字会从1开始随着新创建文件的增多而增加.

    方式二:wireShark工具抓包

    1、截取准备:打开wireshark工具,选择菜单栏上【捕获】->【选项】->选择对应网卡或所有网卡->【开始】(如果捕获选项列表为空,【捕获】->【刷新接口列表】)

    如下图:
    在这里插入图片描述
    2、开始,以及停止抓包

    抓取的文件可在导航栏【文件】->【保存】或直接进行分析
    在这里插入图片描述

    如何根据抓取的包进行分析

    ​ 将抓取的包直接通过WireShark工具打开,打开如下;

    分析之前先了解下wireshark的功能菜单;过滤器和着色规则筛选我们需要的内容
    在这里插入图片描述

    1.SYN,FIN会消耗一个序号,单独的ACK不消耗序号

    2、WIN表示可以接收数据的滑动窗口(接收缓冲区)是多少,如果A发到B的包的win为0,就是A告诉B说我现在滑动窗口为0了,饱了,你不要再发给我了,就说明A端环境有压力

    3、ACK可以理解为应答。A发给B的ack是告诉B,我已收到你发的数据包,收到ack号这里了,你下次要发seq为ack号的给我

    4、连续传输的时候,且无乱序,无丢包的情况下:上一个包的seq + len = 下一个包的 seq,如:

    场景一:零窗口win=0

    在这里插入图片描述
    TCP零窗口是指机器中的窗口大小在指定的时间内保持为零的时间,这意味着客户端此时无法接收更多信息,并且TCP传输将暂停,直到它可以处理其接收缓冲区中的信息。

    1、作为接收方,有接收窗口,也就是接收缓冲区,win=xxx 告诉对方,我的接收窗口大小。

    2、当我的接收窗口满了,也就是win=0,Wireshark显示【TCP ZeroWindow】,这个时候,对方不能再发送数据。

    3、作为发送方,有发送窗口,发送窗口可以理解为,一口气可以发送多少数据。发送窗口不光要考虑对方的接收窗口,还要考虑网络情况,也就是拥塞窗口,等于它们的最小值。

    零窗口故障排除由于这样或那样的原因,提示零窗口的机器将不再从主机接收任何数据。可能是机器当时正在运行太多进程,并且其处理器是最大的。或者可能是TCP接收器中存在错误,例如Windows注册表配置错误。尝试确定TCP零窗口发生时客户端正在做什么。

    场景二:TCP的三次握手

    Wireshark抓包分析TCP三次握手
    (1)TCP三次握手连接建立过程
    Step1:客户端发送一个SYN=1,ACK=0标志的数据包给服务端,请求进行连接,这是第一次握手;
    Step2:服务端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;
    Step3:服务端发送一个SYN=0,ACK=1的数据包给客户端端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。
    在这里插入图片描述
    第一次握手数据包
    客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图
    在这里插入图片描述
    数据包的关键属性如下:
    SYN :标志位,表示请求建立连接
    Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
    Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据

    第二次握手的数据包
    服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图
    在这里插入图片描述
    数据包的关键属性如下:
    [SYN + ACK]: 标志位,同意建立连接,并回送SYN+ACK
    Seq = 0 :初始建立值为0,表示当前还没有发送数据
    Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)

    第三次握手的数据包
    客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:
    在这里插入图片描述
    数据包的关键属性如下:
    ACK :标志位,表示已经收到记录
    Seq = 1 :表示当前已经发送1个数据
    Ack = 1 : 表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。
    就这样通过了TCP三次握手,建立了连接。开始进行数据交互。

    三、WireShark的过滤器的使用

    1、过滤器的使用

    ​ 在刚使用wireshark时,可能会得到大量的冗余数据包列表,以致于很难找到自己想要抓取的数据包部分。

    ​ wireshark自带了两种类型的过滤器,熟练使用这两种过滤器能够帮助我们在大量的数据中迅速找到我们需要的信息。

    方式一、捕获过滤器

    用于抓取数据包之前设置:【捕获】->【Display Filters】
    在这里插入图片描述
    捕获过滤器的使用:捕获主机ip为172.23.22.86的tcp数据包
    在这里插入图片描述
    捕获结果如下:
    在这里插入图片描述

    方式二、显示过滤器

    菜单栏:【分析】->【Display Filters】

    显示过滤器是用于在抓取数据包后设置过滤条件进行过滤数据包。通常是在抓取数据包时设置条件相对宽泛,抓取的数据包内容较多时使用显示过滤器设置条件顾虑以方便分析,如下
    在这里插入图片描述

    2、wireshark过滤器表达式的规则

    1、协议过滤
    
    比如TCP只显示TCP协议,
    
    2、IP过滤
    
    ​	比如ip.src==172.23.22.86显示源地址为172.23.22.86
    
    ​	ip.dst==172.23.28.240显示目标地址为172.23.28.240
    
    ​	ip.addr==172.23.28.240显示ip地址为172.23.28.240的数据包
    
    3、端口过滤
    
    ​	tcp.port==8081,端口为8081的
    
    ​	tcp.srcport==8081,只显示TCP协议的源端口为8081的
    
    4、Http模式过滤
    
    ​	http.request.method=="GET",只显示HTTP GET方法的
    
    5、逻辑运算符为AND/OR
    
    !tcp:显示非tcp协议的数据包
    
    

    常用过滤表达式:

    过滤表达式:多个过滤器之间用and、or、xor、not合并成一个语句

    过滤表达式用途
    http只查看http协议
    ip.src == 172.23.22.86 or ip.dst == 172.23.22.86源地址或者目标地址是172.23.22.86
    ip.addr == 172.23.28.240 and tcp.port == 6789ip为172.23.28.240且端口号为6789的数据包
    frame.len<=150小余等于150长度的数据包
    tcp.flags.syn==1具有SYN标志位的TCP数据包
    tcp/flags.rst==1具有RST标志位的TCP数据包

    可以使用6种比较运算符

    英文写法C语言写法含义
    eq==等于
    ne!=不等于
    gt>大于
    lt<小于
    ge>=大于等于
    le<=小于等于

    Logical expressions(逻辑运算符)

    英文写法C语言写法含义
    and&&逻辑与
    or||逻辑或
    xor^^逻辑异或
    not!逻辑非
    • 最后:欢迎点赞、关注、收藏!!!
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~往期精选~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    【前端-开发环境】使用NVM实现不同nodejs版本的自由切换(NVM完整安装使用手册)
    【前端-NPM私服】内网使用verdaccio搭建私有npm服务器
    【前端-IE兼容】Win10和Win11使用Edge调试前端兼容IE6、IE7、IE8、IE9、IE10、IE11问题
    【工具-Shell脚本】java程序产品包模板-linux和windows通用shell启动停止脚本(无需系统安装Java运行环境)
    【工具-Nginx】Nginx高性能通用配置文件-注释版-支持防刷限流、可控高并发、HTTP2、防XSS、Gzip、OCSP Stapling、负载、SSL
    【后端-maven打包】通过profile标签解决同时打jar包 war包需求
    【后端-SpringCache】基于Spring Cache封装一个能够批量操作的Redis缓存记录下踩坑历程(pipeline或mget封装)
    【后端-SkyWalking】SkyWalking前后端开发环境搭建详细教程步骤-6.x/7.x/8.x版本通用-插件二次开发利器(一)

    展开全文
  • Fiddler使用教程(HTTP抓包 前端debug)

    千次阅读 2022-04-14 23:22:36
    右侧功能区,上半部分为 HTTP 请求,下半部分为 HTTP响应。 Fiddler 之所以能够获取到这些 HTTP 请求的详细情况,主要是因为此处的 Fiddler 相当于一个 “代理” 程序。 部分网页正文一般为打包形式,如果需要查看...
  • Fiddler安卓7.0以上HTTPS抓包及安卓9.0以上http抓包 问题:Android7.0及以上https无法抓包 升级了 targetSdkVersion 到 28 后发现在 Android 7.0 以上机型 Fiddler 抓取 https 包时显示找不到证书 问题原因 Android ...
  • http抓包分析技巧总结

    千次阅读 2017-07-10 22:34:59
    抓包分析必须先要准备好抓包工具(详细可以参考抓包工具使用详情)和多种常用浏览器   1.快速定位到html标签 不要用IE浏览器,ie没有这个方法。具体就是在浏览器定位到你要分析的内容,然后鼠标点击右键,一般都...
  • 一分钱一分货 要你10分你不后悔,请支持原创,未经许可,不得传播 VS2012 Qt5 winpcap win64 抓包工具 编写与设计 http协议解析 http://blog.csdn.net/qq_17242957/article/details/50979646
  • fiddler(http 抓包工具)

    千次阅读 2018-08-05 18:58:23
     fiddler是一个位于客户端和服务端的HTTP代理,它能够记录客户端和服务器之间的所有http请求,可以针对特定的http请求,分析请求数据,设置断点,调试web应用,修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大...
  • 一开始用httpWatch在IE下抓包,特么IE一言不合就崩,这破浏览器怎么还没淹没在历史潮流中,然后就用chrome自带的开发者模式,挺好用的 ... 其实就是规定了客户端在访问...1、HTTP抓包解析: 在Tomcat自带的案例下...
  • Linux服务器下的HTTP抓包分析

    千次阅读 2018-09-08 12:35:05
    说到抓包分析,最简单的办法莫过于在...本文中,我们将给大家介绍在服务端进行抓包分析的方法,使用tcpdump抓包,配合Wireshark对HTTP请求进行分析,非常简单有效。 本文将会持续修正和更新,最新内容请参考我的...
  • Thor HTTP 抓包嗅探分析&接口调试&网络协议 Thor 是 HTTP 抓包调试工具,需要网络相关背景知识,不支持任何科学上网功能,请知晓 Wi-Fi 局域网抓包(抓取其它设备) - 通过过滤器设置断点来调试请求 - 网页浏览器...
  • 作为一个爬虫er,抓包分析是基本功,而提到抓包,不得不提http抓包利器Fiddler,此系列文章将详细介绍Fiddler的一些基础功能及进阶功能的使用。 本文介绍Fiddler在PC端抓包的使用教程 一.安装 安装这一步,直接放上...
  • http抓包工具及协议登录技巧讲解

    千次阅读 2018-05-19 15:27:36
    浏览器无法打开网页 在 Win7 64 位系统下需要将 System32 目录和 SysWOW64 目录下的 netsh 命令各执行一次 netsh winhttp reset proxy才解决 2,部分抓包过程中chrome response居然没抓到请求返回值,同样情况下 ...
  • 第一步,Charles官网下载deb,用sudo dpkg -i命令安装,或者按照说明将其添加到软件源,用sudo apt install就能安装,这一点不赘述;第二步,下载Charles的SSL根证书:Help -&gt; SSL Proxying -&gt; ...
  • 做web服务端开发的经常和http协议打交道,《HTTP抓包实战》由浅入深,循序渐进,内容充实 ,不管是新手和老手都适合。里面对http的讲解非常详细,全面的讲解了http起始行、首部、body 的构成。配合fiddler抓包工具让...
  • chrome和Firefox浏览器http抓包

    万次阅读 2017-02-05 19:12:55
    谷歌浏览器chrome自带的http抓包工具打开方式:点击chrome浏览器右上角的菜单-->工具-->开发者工具。(或者Ctrl+shift+I) 工具打开之后默认就是监测状态,点击工具左上方的小红点record network log,可以...
  • Android抓包指南①: 使用Fiddler抓HTTP/HTTPS包

    万次阅读 多人点赞 2019-05-24 02:28:35
    抓包的重要性 网络抓包,是Android应用逆向分析的重中之重,很多时候我们拿到一个APP,不知道从何入手分析,往往是从抓包开始,先弄清楚他与服务器通信的内容,如果一目了然,我们完全可以照搬,自行写一个程序来...
  • 利用charles抓包

    千次阅读 2022-04-23 11:20:03
    charles是一款http抓包软件,和fiddler极为相似,所以大家就会问,为啥不用fiddler呢,因为mac没有fiddler。而且charles还是付费版本。所以我们这里从安装破解到抓包成功一步一步讲清楚。 下载并安装 我们进入...
  • linux httpry http抓包工具使用

    千次阅读 2016-10-10 11:26:37
    下载地址:http://dumpsterventures.com/jason/httpry/ 安装: centos用yum不行,我试过,所以源码安装: 先安装git,然后从github克隆,地址:http://dumpsterventures.com/jason/httpry 最后,make,make ...
  • 抓包的重要性 网络抓包,是Android应用逆向分析的重中之重,很多时候我们拿到一个APP,不知道从何入手分析,往往是从抓包开始,先弄...
  • 使用wireshark对http请求进行抓包分析2.1.准备工作2.2.wireshark安装2.3.wireshark的简单使用2.4.wireshark抓取http请求过程3.使用jnetpcap对http请求进行抓包分析 本文主要分为三个阶段来进行展开 1.http请求建立的...
  • 在上篇文章中Java抓包分析三(基于jnetpcap进行抓包)——抓取Http请求数据包,我们讲解了TCP三次握手的过程和如何抓取Http数据包,但是我们并没有进行一个数据分析,接下来这篇文章我们将要开始对Http抓取的数据报...
  • HTTP协议抓包分析

    万次阅读 多人点赞 2019-08-15 15:37:07
    HTTP抓包分析
  • QT http抓包,post和get方法,解析返回的json包 我用火狐浏览器进行的抓包 代码: .pro: QT += core gui QT += webkitwidgets network widgets QT += script .h: #include private:  ...
  • 安卓使用HttpCanary进行抓包

    千次阅读 2022-02-15 01:12:00
    IOS抓包软件Stream的安装与使用使用「Stream」进行IOS抓包同样的代码,有时候在安卓端会出现不同的问题,所以还需要进行安卓的抓包另外安卓非Root用户的抓包比较麻烦,需要安装指...
  • http抓包分析GET延迟(wireshark)

    千次阅读 2017-11-07 15:30:51
     本人在互联网视频行业, 需要经常使用http GET获取数据, 最近遇到一个bug, 测试说页面在用户使用高峰时段偶尔会出现卡顿, 我们当即找了服务端的负责人. 他们看了一下现象, 没当回事, bug拖了一周也没有解决.   ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,729
精华内容 55,091
关键字:

http抓包