如何抓包和GET数据包与POST数据包区别

首先说一下我所理解的数据包。

我所理解的数据包就是用户和网站之间的一个交流,你把数据包传递到服务器,服务器再返回给你一个结果,这样你和网站就进行了一次交流。

而我们在网站里的操作,也是发送数据包请求来完成的。

那么我们如何去抓取我们所发送的数据包呢。

这里推荐一下火狐浏览器里的firebug插件。

首先我们百度搜索火狐浏览器,然后下载下来。

接着到菜单----附加组件----搜索firebug

然后安装这个甲壳虫图片的就可以了。

安装好了之后呢,我们看到浏览器右上角有一个灰色的甲壳虫图标,我们点击它,就成为亮色的了。

然后我们选择 网络---启动

这样,这个firebug插件就已经开始对你的火狐浏览器抓包了。

这时候我们最好把“保持”给勾选上,因为有时候网页会跳转,那么跳转之前的数据包就会自动清空了,如果你保持的话,跳转之前的数据包也可以找到。

这里为什么推荐火狐浏览器里的firebug插件呢,因为firebug插件的抓包的时候,如果是缓存在电脑目录里的数据,他会显示灰色,这样我们分析数据包的时候直接跳过这些灰色的数据包就可以了。 而且火狐浏览器的插件也比较多。



我们现在提交数据包的方式常见的有两类,一类是GET方式,一类是POST方式。 也有其他的方式,不过很少很少见到,主流还是GET和POST方式。

GET方式的数据包就跟我们平常访问网页一样,当我们打开http://www.baidu.com/就相当于提交了一个GET数据包。

那么以百度为例子。

我们抓取打开百度时候的数据包可以看到有很多一条一条的数据包,一般来说第一条就是我们访问的地址。我们把第一条展开看一下。

把请求头复制出来就是这样

GET / HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: BAIDUID=6612027E4C1844B4AE58E1E48481A442:FG=1; mv_in_vl=0;
BDSVRTM=20; BDRCVFR[URLfUprPjXb]=mk3SLVN4HKm;
BDRCVFR[_HRd0mn9IK_]=aeXf-1x8UdYcs
Connection: keep-alive
Cache-Control: max-age=0

最开始有一个api/?login HTTP/1.1
Host: passport.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://www.baidu.com/
Cookie: BAIDUID=6612027E4C1844B4AE58E1E48481A442:FG=1; HOSUPPORT=1
Connection: keep-alive
那么我们可以看到,POST的请求头信息和GET的请求头是很相似的。只不过多了个POST数据。

而这里我们可以看到,提交的数据是非常非常长的,如果用GET方式的话就可能不能完全提交到服务器。而且就算能提交,那么浏览器地址栏显示这么长一串内容,对用户的体验也是不太好的。反正我是看到地址栏满满的很长一段,就会不舒服。

言归正传,这里就是POST方式提交的数据。

然后其他的就跟GET方式差不多了, 头信息、返回响应什么的。



最后总结一下:
1、抓包用火狐浏览器的firebug插件,抓包的时候要记得勾选“保持”。
2、POST和GET方式的区别就在于长度问题,GET方式的长度是有限的,POST没有限制。

最后建议大家去抓包试一试,不懂的地方可以跟帖留言,我有空解答{:soso_e113:}

时间: 2024-11-12 19:28:06

如何抓包和GET数据包与POST数据包区别的相关文章

抓包工具 - Fiddler(如何捕获Android数据包)

如何捕获Android数据包 一.移动设备访问网络原理 先看看移动设备是怎么去访问网络,如图1所示,可以看到,移动端的数据包是从wifi出去的. 图1(移动设备访问网络) 所以我们可以把自己的电脑开启热点,将手机连上电脑,本机的Fiddler开启代理后,让这些数据通过Fiddler,那Fiddler就可以抓到这些包,然后发给路由器,如图2所示 图2(设置) 二.Fiddler抓取android数据包所需条件 1.电脑需要安装Fiddler 2.测试手机需要支持Wifi 3.测试手机与电脑需要同一

在大数据中,关于native包的编译步骤

一.问题的由来: 二.解决问题的方法(所有的操作在root下完成): 1.前期需要的环境,下面的已经在伪分布式中配置好,不再重复 配置好jdk 配置好hadoop 2.上传还需要包 apache-maven-3.0.5-bin.tar.gz和protobuf-2.5.0.tar.gz maven是项目管理与项目构建自动化工具,在这之前必须保证安装jdk. protobuf是一种数据化方式.用于通信和存储的序列化,结构化的协议. 3.解压maven到指定的目录 4.配置maven的环境变量和路径(

运用python抓取博客园首页的所有数据,而且定时持续抓取新公布的内容存入mongodb中

原文地址:运用python抓取博客园首页的所有数据,而且定时持续抓取新公布的内容存入mongodb中 依赖包: 1.jieba 2.pymongo 3.HTMLParser # -*- coding: utf-8 -*- """ @author: jiangfuqiang """ from HTMLParser import HTMLParser import re import time from datetime import date im

DNS解析污染原理——要么修改包,要么直接丢弃你的网络包

DNS/域名解析 可以看到dns解析是最初的一步,也是最重要的一步.比如访问亲友,要知道他的正确的住址,才能正确地上门拜访. dns有两种协议,一种是UDP(默认),一种是TCP. udp 方式,先回应的数据包被当做有效数据 在linux下可以用dig来检测dns.国内的DNS服务器通常不会返回正常的结果.下面以google的8.8.8.8 dns服务器来做测试,并用wireshark来抓包,分析结果. 1 dig @8.8.8.8 www.youtube.com dns-udp-youtube

运用python抓取博客园首页的全部数据,并且定时持续抓取新发布的内容存入mongodb中

原文地址:运用python抓取博客园首页的全部数据,并且定时持续抓取新发布的内容存入mongodb中 依赖包: 1.jieba 2.pymongo 3.HTMLParser # -*- coding: utf-8 -*- """ @author: jiangfuqiang """ from HTMLParser import HTMLParser import re import time from datetime import date im

程序包管理的前端工具yum、程序包管理器编译安装、sed命令

下面介绍的是程序包管理的前端工具yum.程序包管理器编译安装.sed命令. 一.Linux程序包管理:程序包管理的[前端工具] 1.yum软件包仓库简介 CentOS系的管理工具有yum和dnf.yum是一款发行版的Linux,其使用的默认程序包管理工具为rpm. URL是yum定位软件包仓库和仓库中程序文件的主要标识方式,表示如下: 例如:schema://[[email protected]]hostname/PATH/TO/DOCUMENT[paramers][methord] (例子中的

第31篇 粘包的产生原理 以及如何解决粘包问题

内容回顾: 如何与另外一台电脑连接: ping 对方的ip地址 如何参电脑的ip配置 cmd-->ipconfig 内容概览: 粘包问题 粘包产生原理 如何解决粘包问题 粘包的产生: #server import socket sk = socket.socket() ip_port = ('127.0.0.1',8989) sk.bind(ip_port) sk.listen() conn,addr = sk.accept() conn.send(b'hello,') conn.send(b'

跑握手包/cap跑包等一系列服务 普通15元一包,跑出再收费/专业跑包,快速跑包

QQ:12065661   微信:Love1075621883 手机:15678251175/15678251135 邮件:[email protected] 网站:www.rt68.cn 我们是专业wifi密码破解团队 跑握手包/cap跑包等一系列服务 普通15元一包,跑出再收费/淘宝/拍拍交易 联系QQ:12065661  邮箱[email protected] 淘宝店:http://shop116438515.taobao.com/ 跑包规矩  跑出密码不得以任何借口不付款凡是同时发给多个

python找包的路径(找不到自定义包的问题解决)

问题:工程下自定义的包,python在执行时经常找不到包 python找包的路径:python安装路径下的lib包和PYTHONPATH下的包 可以使用[sys.path]打印出python找包的路径 import sys syspath=sys.path 但是在jenkins运行时经常提示找不到包,所以就需要手动添加PYTHONPATH,通过追加sys.path列表来实现 例如下面的方式: import os import sys rootpath=str("工程所在目录") sys

CentOS程序包管理器rpm、yum以及程序包编译安装详解

一.程序包管理器RPM和Yum简介 程序包管理器:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,可以更方便地实现程序包的安装.升级.卸载和查询等管理操作. rpm软件包管理器(RPM Package Manager):rpm包存在依赖关系,依赖关系复杂,安装时间很长,虽然可以忽略依赖关系,但是可能会导致程序包安装后无法正常使用. yum程序包管理器( Yellow dog Updater, Modified):yum是基于RPM包管理,自动解决程序包间的依赖关系.根据配置文件的资源地