以手机app讲解wireshark的简单使用

来源:互联网 发布:百度知道和知乎一样吗 编辑:程序博客网 时间:2024/05/05 19:30

一.为什么要使用wireshark

爬虫的原理就是通过模拟发送请求来获得服务器的返回,从而抓取所需要的信息。

对于pc上的浏览器,可以通过查看源代码,或者查看json文件(使用js加载的)来获得请求。

但是对于app这样的软件,我们只能通过wireshark来捕获当我们触发了某个事件,到底是发送了哪些请求。(当然它也可以用来捕捉浏览器的包)

二.怎么使用wireshark

Wireshark的功能十分强大,我们需要用到的只是其中的一点点中的一点点。有兴趣的可以自己专研。

一点点—选择捕获

与我们工作相关的协议主要是http协议,而http协议是基于TCP的。

Wireshark会捕捉各种各样的包,而我们只需要其中的几个包,如果都捕捉到反而不方便我们的查找。

所以我们只需要过滤出对我们有用的。

 

选择你需要的捕捉的网络以及你想要分析的协议,这里只选择http tcp。

我们以追书神器为例,当完成了一系列的操作之后,我们把捕捉关闭。

然后一步步的来分析它的过程。

 

一点点的一点点--(显示过滤):

Wireshark界面有三个窗口:

1.      最上面窗口列出所有的包;

2.      中间窗口显示每个包的详细信息;

3.      最下面的窗口我们不会用到它,所以忽略。

为了方便查找,我们只需要显示到底发送了什么请求。

所以我们先筛选出所有的request包:http.request

然后慢慢的找到我们想要的那个包。

怎么找:一个个找。。。然后点开下面的详细页面,点开那个URL,看看是不是想要的那个页面。

 

我们把刚刚点击的那个包打开来。

好的,我们找到了我们刚刚点击的那个小说的信息了。

Ok,我们来跟踪一下这个包。

 


红色的为请求,蓝色的为响应。


前三个包是TCP的三次握手,后三个包是TCP的四次挥手(这里的fin和ack合起来一起发了,所以只看到三个包了)。

中间两个则是我们的请求和返回。

可以看到,返回的文件使用js加载的json文件。

 

到了这里,我们可以知道我们发的包目的主机的ip地址为42.62.26.167

于是我们可以再过滤一遍,看看这些包到底有什么规律。

host.request and ip.dst==42.62.26.167

 

 

是不是更加一目了然了。

当语法无误的时候背景色为绿色,当存在语法错误时,背景色为红色。

 

三.过滤语法

 

当我们点击一个网页服务器是怎么知道要把什么内容发给我们的呢。

当我们请求这个页面:

http://api.zhuishushenqi.com/book/560c0ebc5a41673955935a28

从中可以分解出

协议名:http

主机名:api.zhuishushenqi.com

端口:默认80

对象路径:/book/560c0ebc5a41673955935a28

然后封装成http包,再加上tcp头部,封装成tcp包,再加上ip头部,封装成ip包。

所以这其中用到ip协议,tcp协议,http协议。

1.ip协议:计算机之间的通信。

所以他的对象是ip地址。

因此要过滤ip地址的话选用:

ip.addr==

ip.src==

ip.dst==

2.tcp协议:端口与端口之间的通信。

所以他的对象是端口。

因此要过滤端口的话选用:

 tcp.port==

tcp.srcport==

tcp.dstport==

3.http协议:客户端与服务器之间的通信。

http的工作模式是请求响应模式。

所以:

http.request

http.response

对于请求:

请求的方式主要有GET,POST

于是:可以过滤方式,

http.request.method==GET

http.request.method==POST

请求的uri:

http.request.uri contains baidu

服务器的过滤:

http.host==

http.host matches


http.host contains (和上面个功能差不多,不过上面个可以使用匹配)


1 1
原创粉丝点击