`

抓包工具大全

 
阅读更多

http://blog.csdn.net/xumingjie1658/article/details/7478759

 

要做网页操作,get和post提交数据是必须要学会的一件事。想要获取get或者post的数据就必须要学会抓包。下面我就对常见的抓包工具简单的介绍一遍。

 

抓包工具1:

HTTP Analyzer

 

界面非常直观,无需选择要抓包的浏览器或者软件,直接全局抓取,很傻瓜化,但是功能决定不简单。其他抓包工具有的功能它有,其他没有的功能它也有。点击start即可进行抓包,红色按钮停止抓包,停止按钮右边的就是暂停抓包按钮。

抓包完成以后,选择数据列表框内的数据,就可以在下面的选择夹内查看具体的数据,比如post的数据。其中post数据有几种查看方式:1.提交的真正数据(url编码数据)。

 

2.提交的数据的具体每个参数和参数的值(url解码出来显示)。

 

3.以16进制数据查看。

 

抓包完成可以保存数据为XML文件,方便以后查看和分析。

特点:全局抓包,无需选择抓包对象,也可以附加到IE浏览器进行抓包, 方法:打开浏览器-》查看-》浏览器栏-》IE HTTP Analyzer即可。可以筛选只显示出需要的数据。可以很方便查看post提交的数据和参数,这点对易语言和delphi等编程工具来说很有用。

 

抓包工具2

HttpWatch

 

 

界面和HTTP Analyzer有点像,但是功能少了几个。而且只能附加到浏览器进行抓包。附加的办法:打开浏览器-》查看-》浏览器栏-》HttpWatch,然后点record即可抓包。

特点:抓包功能强大,但是只能依附在IE上。Post提交的数据只有参数和参数的值,没有显示提交的url编码数据。

HttpWatch强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出HttpWatch 是一款能够收集并显示页页深层信息的软件。它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE之间的交换信息。集成在Internet Explorer工具栏。

启动Httpwatch

从IE的“查看”—“浏览器栏”—“HttpWatch”启动HttpWatch。如下图所示:

 

以下是HttpWatch程序界面

 

 

 

 3.1 Overview(概要)

表示选定某个信息显示其概要信息

 

 

 

 

2. 3.2 Header(报头)

如上图红框所示:

 

Http请求头发送信息

 

Headers Sent                     value

 

Request-Line                     GET /external/closea_d.jsHTTP/1.1

 

 

备注:在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80

表示Http接受到请求操作响应后的缓存时间

Cache-Control                                            max-age=3600

一个用于定义缓存指令的通用头标

Connection                                              keep-alive

保持Tcp请求连接

Content-Type                                            application/x-javascript

标明发送或者接收的实体的MIME类型

Date                                               Fri,04 Jan 2008 01:12:26 GMT 

发送HTTP消息的日期

Etag                                             "10f470-734-b32eb00"

一种实体头标,它向被发送的资源分派一个唯一的标识符

Expires                                     Fri, 04 Jan 2008 02:12:26 GMT

指定实体的有效期

Last-Modified                               Fri, 04 Jan 2008 01:01:00 GMT

指定被请求资源上次被修改的日期和时间

Server                                     Apache

一种标明Web服务器软件及其版本号的头标

X-Cache                                   HIT from mimg68.nets.com    

表示你的 http request 是由 proxy server 回的 

3. 3.3 Cookies

显示Cookies信息

如上图所示City=021,其实是我163邮箱中设置城市信息值,在Cookies中记录为021(代表上海这个城市)

 

备注:

什么是cookie?Cookie是一种在客户端保持HTTP状态信息的技术,Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一片数据,WEB服务器传送给各个客户端浏览器的数据是可以各不相同的。

浏览器可以决定是否保存这片数据,一旦WEB浏览器保存了这片数据,那么它在以后每次访问该WEB服务器时,都应在HTTP请求头中将这片数据回传给WEB服务器。

显然,Cookie最先是由WEB服务器发出的,是否发送Cookie和发送的Cookie的具体内容,完全是由WEB服务器决定的。

Cookie在浏览器与WEB服务器之间传送的过程如图7.1所示。


 

4. 3.4 Cache(缓存)

 

3.5 Query String(查询字符串)

显示查询字符串被用在是传递参数url中

6. 3.6 POST Data

显示通过Post方式数据信息

以下是mail.163.com登录过程中POST Data,如下图所示:

备注:以下为Post方式提交数据编码几种方式:

text/plain

以纯文本的形式传送

application/x-www-form-urlencoded

默认的编码形式,即URL编码形式

multipart/form-data

MIME编码,上传文件的表单必须选择该

Mime Type指的是如text/html,text/xml等类型

MIME(Multipurpose Internet Email Extension),意为多用途Internet邮件扩展,它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是JPEG文件等等。当服务器把把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。在HTTP中,MIME类型被定义在<head>、</head>部分的Content-Type中。

数据类型

MIME类型

超文本标记语言文本 .htm,.html文件

text/html(数据类别是text,种类是html,下同)

纯文本,.txt文件

text/plain

RTF文本,.rtf文件

application/rtf

GIF图形,.gif文件

image/gif

JPEG图形,.jpeg, .jpg文件

image/jpeg

au声音,.au文件

audio/basic

MIDI音乐,mid,.midi文件

audio/midi,audio/x-midi

RealAudio音乐,.ra, .ram文件

audio/x-pn-realaudio

MPEG,.mpg,.mpeg文件

video/mpeg

AVI,.avi文件

video/x-msvideo

GZIP,.gz文件

application/x-gzip

TAR,.tar文件

application/x-tar

如上图红圈所表示,可以看到POSTData 中的password和username数据;

GET方法

GET方法是默认的HTTP请求方法,我们日常用GET方法来提交表单数据,然而用GET方法提交的表单数据只经过了简单的编码,同时它将作为URL的一部分向Web服务器发送,因此,如果使用GET方法来提交表单数据就存在着安全隐患上。例如

Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB

从上面的URL请求中,很容易就可以辩认出表单提交的内容。(?之后的内容)另外由于GET方法提交的数据是作为URL请求的一部分所以提交的数据量不能太大

POST方法

POST方法是GET方法的一个替代方法,它主要是向Web服务器提交表单数据,尤其是大批量的数据。POST方法克服了GET方法的一些缺点。通过POST方法提交表单数据时,数据不是作为URL请求的一部分而是作为标准数据传送给Web服务器,这就克服了GET方法中的信息无法保密和数据量太小的缺点。因此,出于安全的考虑以及对用户隐私的尊重,通常表单提交时采用POST方法。

 3.7 Content

统计显示收到的Http响应信息

如下图所示:可以查看

 

https://reg.163.com/logins.jsp?type=1&url=http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight%3D1%26verifycookie%3D1%26language%3D-1%26style%3D-1

页响应具体内容:

 3.9 HttpWatch请求信息框

菜单区如上图红框所示:

启动Httpwatch

从IE的“查看”—“浏览器栏”—“HttpWatch”启动HttpWatch。如下图所示:

 

以下是HttpWatch程序界面

 

 

 

 3.1 Overview(概要)

表示选定某个信息显示其概要信息

 

 

 

 

2. 3.2 Header(报头)

如上图红框所示:

 

Http请求头发送信息

 

Headers Sent                     value

 

Request-Line                     GET /external/closea_d.jsHTTP/1.1

 

 

备注:在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80

表示Http接受到请求操作响应后的缓存时间

Cache-Control                                            max-age=3600

一个用于定义缓存指令的通用头标

Connection                                              keep-alive

保持Tcp请求连接

Content-Type                                            application/x-javascript

标明发送或者接收的实体的MIME类型

Date                                               Fri,04 Jan 2008 01:12:26 GMT 

发送HTTP消息的日期

Etag                                             "10f470-734-b32eb00"

一种实体头标,它向被发送的资源分派一个唯一的标识符

Expires                                     Fri, 04 Jan 2008 02:12:26 GMT

指定实体的有效期

Last-Modified                               Fri, 04 Jan 2008 01:01:00 GMT

指定被请求资源上次被修改的日期和时间

Server                                     Apache

一种标明Web服务器软件及其版本号的头标

X-Cache                                   HIT from mimg68.nets.com    

表示你的 http request 是由 proxy server 回的 

3. 3.3 Cookies

显示Cookies信息

如上图所示City=021,其实是我163邮箱中设置城市信息值,在Cookies中记录为021(代表上海这个城市)

 

备注:

什么是cookie?Cookie是一种在客户端保持HTTP状态信息的技术,Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一片数据,WEB服务器传送给各个客户端浏览器的数据是可以各不相同的。

浏览器可以决定是否保存这片数据,一旦WEB浏览器保存了这片数据,那么它在以后每次访问该WEB服务器时,都应在HTTP请求头中将这片数据回传给WEB服务器。

显然,Cookie最先是由WEB服务器发出的,是否发送Cookie和发送的Cookie的具体内容,完全是由WEB服务器决定的。

Cookie在浏览器与WEB服务器之间传送的过程如图7.1所示。


 

4. 3.4 Cache(缓存)

 

3.5 Query String(查询字符串)

显示查询字符串被用在是传递参数url中

6. 3.6 POST Data

显示通过Post方式数据信息

以下是mail.163.com登录过程中POST Data,如下图所示:

备注:以下为Post方式提交数据编码几种方式:

text/plain

以纯文本的形式传送

application/x-www-form-urlencoded

默认的编码形式,即URL编码形式

multipart/form-data

MIME编码,上传文件的表单必须选择该

Mime Type指的是如text/html,text/xml等类型

MIME(Multipurpose Internet Email Extension),意为多用途Internet邮件扩展,它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是JPEG文件等等。当服务器把把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。在HTTP中,MIME类型被定义在<head>、</head>部分的Content-Type中。

数据类型

MIME类型

超文本标记语言文本 .htm,.html文件

text/html(数据类别是text,种类是html,下同)

纯文本,.txt文件

text/plain

RTF文本,.rtf文件

application/rtf

GIF图形,.gif文件

image/gif

JPEG图形,.jpeg, .jpg文件

image/jpeg

au声音,.au文件

audio/basic

MIDI音乐,mid,.midi文件

audio/midi,audio/x-midi

RealAudio音乐,.ra, .ram文件

audio/x-pn-realaudio

MPEG,.mpg,.mpeg文件

video/mpeg

AVI,.avi文件

video/x-msvideo

GZIP,.gz文件

application/x-gzip

TAR,.tar文件

application/x-tar

如上图红圈所表示,可以看到POSTData 中的password和username数据;

GET方法

GET方法是默认的HTTP请求方法,我们日常用GET方法来提交表单数据,然而用GET方法提交的表单数据只经过了简单的编码,同时它将作为URL的一部分向Web服务器发送,因此,如果使用GET方法来提交表单数据就存在着安全隐患上。例如

Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB

从上面的URL请求中,很容易就可以辩认出表单提交的内容。(?之后的内容)另外由于GET方法提交的数据是作为URL请求的一部分所以提交的数据量不能太大

POST方法

POST方法是GET方法的一个替代方法,它主要是向Web服务器提交表单数据,尤其是大批量的数据。POST方法克服了GET方法的一些缺点。通过POST方法提交表单数据时,数据不是作为URL请求的一部分而是作为标准数据传送给Web服务器,这就克服了GET方法中的信息无法保密和数据量太小的缺点。因此,出于安全的考虑以及对用户隐私的尊重,通常表单提交时采用POST方法。

 3.7 Content

统计显示收到的Http响应信息

如下图所示:可以查看

 

 

 

抓包工具3

HTTPDebugger

 

同样是全局抓包,抓包和停止抓包同个按钮。软件界面感觉没有那么友好,POST的数据只能在requestcontent内查看,只显示提交的url编码数据如;

fastloginfield=username&username=xxxx&password=xxxxx&quickforward=yes&handlekey=ls&questionid=0&answer=

 

抓包工具4

精易编程助手

 

点网页抓包,点开始,在出现的浏览器中打开要抓包的网站,别忘了要回去点开始,否则抓不到数据,然后再在网站登陆或者其他操作。操作完成以后回到软件界面查看封包数据即可。

 

该软件能生成易语言的post代码,对易语言编程来说很方便。Post的数据同样是真正提交的url编码数据,不显示解码参数。Post数据形如:

fastloginfield=username&username=xxxxx&password=qazwsx&quickforward=yes&handlekey=ls&questionid=0&answer=

注意:该工具对百度网站登陆抓包失败,不知道是SLL安全的原因还是什么。

抓包工具5

WSockExpert

 

Post数据同样是显示提交的url编码数据,但是post的数据需要自己翻动查找,感觉很不方便,特别是列表框里面的数据有很多行的时候。

对ie7和其他多线程浏览器,选择进程的时候要如下图选择GDI+Window,然后点打开即可自动抓包:

 

注意:该工具对百度网站登陆抓包失败,不知道是SLL安全的原因还是什么。

 

抓包工具6

封包助手。

 

界面和WSockExpert很像,同样是选择进程,然后开始抓包。但是对于多线程浏览器或者其他软件来说,要选择正确的进程才能抓到数据包,

不知道是哪个进程的可以不断尝试。

注意:该工具对百度网站的登陆抓包失败,不知道是SLL安全的原因还是什么。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics