导航:首页 > 配服务器 > 如何抓取服务器的包

如何抓取服务器的包

发布时间:2022-11-30 11:50:41

‘壹’ 如何进行抓取局域网中的所有包

可以使用两个方法:
1、找到那个服务器的交换机端口,做一个端口镜像。
2、那个服务器前面串一个HUB,老式的广播HUB,然后你的wireshark和服务器一起接到HUB上。
工具:Wireshark、Ethereal、Sniffer等。

‘贰’ 如何抓取指定网站后台服务器数据

先打开wireshark监听指定的网卡就是上网的那一张网卡,开始抓包,然后使用浏览器访问你想要的网站,当浏览器显示网站数据传输完毕,停止抓包,将所抓的数据保存下来即可

‘叁’ 如何使用WireShark抓取数据包

一、怎样获取WireShark?
很简单,网络搜索WireShark,就会看到下载地址。

二、使用WireShark
因为WireShark是英文软件,所以你需要一些必要的英文基础。
打开软件界面

1、开始抓包
选中你需要的网卡,点击start即可开始抓包,在这个时候请确保你想要抓的包会通过你选择的网卡。一般做法是在电脑上插一块无线网卡,然后让你的设备连接该无线网卡

你会发现流过网卡的数据包非常多。这时候你需要用到最顶上的过滤选项。过滤语法不算复杂,但是一时半会也记不完,记住常用的即可。
(1)过滤源ip、目的ip。在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1;
(2)端口过滤。如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包;
(3)协议过滤。直接在Filter框中直接输入协议名即可,如过滤HTTP的协议;
(4)http模式过滤。如过滤get包,http.request.method==”GET”,过滤post包,http.request.method==”POST”;其他协议的数据包大都也是这样。
(5)连接符and/or的使用。连接符and的使用。过滤两种条件时,使用and连接,如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and http。我想作为一个程序员or就不需要我举例了吧。
2、提取数据
你已经找到你想要的包了
如果你想看到你POST的结果,一般来说都在你请求下面的一个HTTP/1.1 200 ok 的数据包。包结构跟POST去的差不多。如果服务器响应缓慢,你只需要选中POST数据包右键点击Follow TCP Stream,即可快速筛选本次同信的所有数据包。如果是JSON或文本的话拷贝可打印文字就可以咯。如果是二进制通讯,拷贝HEX即可。

3、查看JSON数据
可能大家习惯于用网页上的在线解析。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

那么以网络为例子。

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

把请求头复制出来就是这样
GET / HTTP/1.1
Host: www..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=:FG=1; mv_in_vl=0; BDSVRTM=20; BDRCVFR=mk3SLVN4HKm; BDRCVFR=aeXf-1x8UdYcs
Connection: keep-alive
Cache-Control: max-age=0

最开始有一个GET,这个就是数据包的提交方式了,可以是GET或者POST。 后面是HTTP/1.1

而Host就是服务器名,可以是一个域名也可以是一个IP地址。

User-Agent,浏览器标识什么的,可以让服务器识别你的浏览器版本、语言、插件等等。

Accept,Accept-Language,Accept-Encoding,这里我就不多说了,有兴趣的朋友可以看看这个:http://jingyan..com/article/375c8e19770f0e25f2a22900.html

下面是Cookie,Connection和Cache-Control.

那么一个GET方式的数据包就是这样构成的。
然后我们看到数据包还有一个响应

这里是我们访问了这个数据包后,服务器返回给我们的结果。

我们打开后看到是一对乱码

这个是很正常的,服务器只会给你返回一串数据,然后浏览器会根据数据来进行整理,然后展现给你,也就是你看到的网络页面。

那么到这里,就是一个完整的GET方式的数据包。

而POST数据包和GET数据包的本质是没有任何差别的,构成也很相似。

POST数据包只是为了来完成GET数据包没有办法完成的功能。

因为有时候我们要登录账号,登录账号要发送一个数据包给服务器,那如果是GET方式的话,登录的账号密码就会在浏览器地址栏里显示出来,这样就不太安全。

如果是POST数据包的话,就不会显示出来。

并且GET方式的数据包能查询的长度是有限的,好像最长是255字节,也可能会更多,反正不会超过某个限度,如果超过了这个限度的话,他会自动省去后面的字节。那么我们传递到服务器的时候,数据就损失了很多,服务器也会不知道我们是干嘛的。

而POST数据包就会没有这个问题。

下面抓一个网络的登录看一下。

复制一下他的请求头信息

POST /v2/api/?login HTTP/1.1
Host: passport..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..com/
Cookie: BAIDUID=:FG=1; HOSUPPORT=1
Connection: keep-alive

那么我们可以看到,POST的请求头信息和GET的请求头是很相似的。只不过多了个POST数据。

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

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

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

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

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

‘伍’ 有事请教下哈,windows2008服务器操作系统,要抓取访问他的流量包用什么办法

一般情况下,开启服务器日志即可记录所有访问web服务器的请求。
如果是记录其它请求需要使用抓包工具来抓包,这种数据量是非常大的。

‘陆’ 如何使用tcpm进行网络抓包

默认系统里边没有安装有tcpmp的,无法直接使用

这里我们可以使用yum来直接安装它
yum install -y tcpmp

如果忘记了这个软件的用法,我们可以使用 tcpmp --help 来查看一下使用方法

一般我们的服务器里边只有一个网卡,使用tcpmp可以直接抓取数据包,但是这样查看太麻烦了,所以都会添加参数来进行获取的。
例如我截取本机(192.168.31.147)和主机114.114.114.114之间的数据
tcpmp -n -i eth0 host 192.168.31.147 and 114.114.114.114

还有截取全部进入服务器的数据可以使用以下的格式
tcpmp -n -i eth0 dst 192.168.31.147
或者服务器有多个IP 可以使用参数
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157

我们抓取全部进入服务器的TCP数据包使用以下的格式,大家可以参考下
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157 and tcp
从本机出去的数据包
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157 and port ! 22 and tcp
或者可以条件可以是or 和 and 配合使用即可筛选出更好的结果。

‘柒’ 如何抓取一个局域网的所以的网络流量数据包

1、使用网络嗅探工具,也就是俗称sniffer的工具,这类工具有很多,有专业的sniffer pro,也有iris的抓包工具,还有许多简单点的。这种是通过抓取低层数据包,并根据上层HTTP、FTP、MAIL等协议解码,功能强弱跟软件有关。

2、原理就是将我们的网卡设置为混杂模式。我们知道网卡在链路层通信时的地址是MAC,网卡根据目标的MAC地址来确认是不是发给自己的包。在混杂模式下,网卡会接收所有网络中的数据包,不管是不是发给自己的。这样就可以得到网络中的所有数据了。
3、问题是在交换机环境下,交换机会首先分析MAC地址,然后只把数据包转发到对应的端口去。这样一来,除了广播包和多播包,我们的网卡只能接收到发给自己的数据包了,混杂模式下也无效了。
4、为了解决3这种问题,就分别针对交换机的工作原理和链路层通信的原理提出了不同的解决办法。比如通过发送大量的广播包,造成广播风暴,造成交换机没有更多能力来处理上层数据的分析工作,迫使交换机工作在物理层,相当于成了一个HUB,就会在所有端口中转发所有的数据包。另一种是中间人攻击,即伪造通信双方的MAC同时向双方发信,使双方都把我们误以为是对方,从而将要发到对方的数据包发送给我们,我们在收到的同时再给过处理转发给真正的接受方,这样就得到数据了。如果能够把自己伪装成网关,所有的对外通信就都能拿到了。
5、在无线传输的情况下,电波总是在公共区域传播的,所以必须要对数据进行加密才能保证安全,根据等级和需要可以使用不同的加密方式。这时候也有专门针对无线的sniffer工具,至于能不能解密破解,就需要一点运气了。
6、这是低层的,还可以根据各层协议原理,有针对性的把自己伪装成需要的角色,从而获取到相关信息。比如可以伪装成DNS、邮件服务器等等。
7、道高一尺、魔高一丈,有漏洞就有解决办法。比如对交换机进行专门的设置,在风暴时使用保守的丢包处理方式,或者绑定到IP地址,或者应用层的HTTPS、DNS扩展协议。总是在攻守当中向前发展。

‘捌’ 怎么抓移动端的包

前言

Fiddler是什么: Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。显然它是可以支持对手机应用进行http抓包的。特别是在内网环境下能极大的方便现场人员分析和排查问题,本文就来介绍下如何用fiddler对手机应用来抓包。

适用人员范围: 实施同事(必会技能)、开发同事、测试同事

工具/原料

Fiddler抓包工具官方前往下载

Android、iOS 移动设备

方法/步骤

(1)启动Fiddler,打开菜单栏中的Tools > Options,打开“Options”对话框。

(2)在Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,切记:Fiddler 默认监听的端口:8888,然后点击“OK”按钮,关键:配置好之后,需要重启Fiddler。

(3)下载一个猎豹免费WiFi并开启自己的无线局域网(电脑自带的也行)

(4)在本机命令行输入:ipconfig,找到本机的ip地址,查看无线局域网的IP地址,比如:192.168.191.1,这是我的无线网地址。

(5)打开Android、iOS设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”。

(6)在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的无线ip地址,在“代理服务器端口”后面的输入框输入8888,然后点击“保存”按钮。

(7)然后打开你项目的移动APP ,这里以移动办公APP的公务邮件模块为例,访问首页- 公务邮件模块,在fiddler中可以看到邮件列表接口的请求数据和响应数据。

(8)怎么样,是不是很简单,快来试试吧!

注意

经常遇到有同事说手机代理开启之后(前提:配置完全没有问题)手机连不上网,网页都打不开,这是怎么回事儿?

- 检查电脑防火墙是否为关闭状态

- 如果是iOS,代理配置完后要重新启动一下Fiddler才行。
你好。形框属于拱形门,中国人的阳宅风水是不赞成家居中的门或者窗是拱形,或者是有拱形的大件物品,之阳宅风水学中很忌讳拱形,其实在生活中,仔细想想拱形设计比较多的那就是墓碑了,这是很不吉利的。

‘玖’ 四大网络抓包神器,总有一款适合你~

无论是开发还是测试,在工作中经常会遇到需要抓包的时候。本篇文章 主要介绍如何在各个平台下,高效的抓包。

目前的抓包软件总体可以分为两类:

一种是设置代理抓取http包,比如Charles、mitmproxy这些软件。

另一种是直接抓取经过网卡的所有协议包,其中最出名就是大名鼎鼎的wireshark以及linux自带的抓包软件tcpmp。

下面重点介绍一下这四个抓包工具的特点以及使用。

wireshark想必大多数程序员都不会陌生。wireshark在各个平台都可以安装使用,它 可以抓取经过指定网卡的所有协议。 wireshark虽然很强大,但是对初学者其实不是很友好。

这也正是由于它太强大,它可以抓取所有包,所以初学者在使用时面对茫茫数据流不知所措。初学者需要认真的去学习怎么过滤得到自己感兴趣的包,但是如果不熟悉wireshark的过滤语法,要过滤数据包将举步维艰。

过滤语法简单介绍

wireshark的过滤语法总结起来其实也很简单,就是 以协议开头,后面可以跟着协议的属性,然后加上一些判断符号, 比如contains、==、>、<等等。比如只想展示http的协议内容,则直接在过滤器输入框中输入http即可。

如下图:

比如我 只想看http协议的请求头中uri包含’/api’的协议,就可以这么写:

如果想通过目标ip或者来源ip来过滤包,就不可以以http协议为前缀了,因为这些是ip协议的相关属性。 通过目标ip来过滤可以这么写:

上面表示目标机器的ip是61.135.217.100并且协议是http的包。

wireshark支持很多种协议,我们可以通过右上角的expression来打开搜索支持的协议,还可以找出协议支持的属性,然后填入期待的值,软件会自动为我们构建过滤语句。

优点:

功能强大,可以抓取所有协议的包

抓到的包容易分析

缺点:

由于线上服务器没有GUI,只有命令行,因此无法在线上服务器使用

无法分析https数据包,由于wireshark是在链路层获取的数据包信息,所以获取到的https包是加密后的数据,因此无法分析包内容。当然,我们可以对https数据包进行解密, 但是操作具有一定的复杂度,可能要消耗很多时间。

tcpmp是linux上自带的一个抓包软件(mac也有),功能强大,也可以抓取经过指定网卡的所有协议包。

由于是命令行工具,tcpmp抓取到的包不易于分析,一个常见的做法是将tcpmp抓到的包输出到某个文件,然后将文件拷贝下来用wireshark分析。

一些简单的过滤参数:

抓包内容输出到文件:

之后我们可以把test.cap直接用wireshark打开,就可以很直观的分析包了。

用tcpmp输出cap文件包:

tcpmp-r test.cap

Charles是一款http抓包工具,它是通过代理来实现的抓包。也就是我们在访问网页时需要配置代理,将代理指向Charles监听的端口,之后我们的http请求都会发向Charles的端口,之后Charles会帮我们转发并记录协议内容。

Charles的使用非常简单,配置好代理后,Charles就开始抓包了。

我们可以直接通过Charles的GUi查看包的内容:

上图中的unknown表示https加密后的数据,所以看到不协议的具体内容。我们可以通过安装Charles的证书,让Charles也可以查看https协议的具体内容。

优点 :

使用简单,只需配置一下代理地址就可以

要抓取https协议的配置也很简单,只要安装下charles的证书就可以了

mitmproxy是python写的一款http抓包工具,虽然只支持http抓包,但是它的特性非常强大,它不仅可以抓包,还可以对请求进行拦截、重现等操作。和Charles一样,它的原理也是基于代理,使用的时候需要设置代理指向它。

mitmproxy是命令行工具,但是也自带了mitmweb工具,可以让用户在网页上操作。另外,mitmproxy还支持用户自行编写插件,可以编写脚本对请求进行处理,然后把修改后的请求发出去。

1、安装 

首先需要在机器安装python3以及pip3.之后通过pip3安装

pip3 install mitmproxy

如果安装mitmproxy过程中报错MoleNotFoundError: No mole named '_ssl',就需要安装一下OpenSSL,然后再重新编译安装一下python3。

安装好openSSL后再执行pip3 install mitmproxy

2、使用 

安装后,直接在命令行输入mitmproxy就会进入它的交互界面:

这时候mitmproxy已经开始监听8080端口(默认),接着,我们可以去浏览器设置代理。浏览器设置代理的方式有很多,这里不多做介绍。

设置完代理后,访问浏览器的请求都会被发到mitmproxy上,mitmproxy根据规则对请求进行拦截(不配置拦截规则的话则都不拦截),所有经过的请求都会被输出:

在交互界面上可以通过快捷键操作请求。输入问号’?’,可以查看快捷键的文档。

3、下面介绍一些常用的快捷键和功能

① 请求过滤  

在请求列表交互界面,按下f键后,可以输入一些过滤规则:

具体的过滤语法可以按下’?‘键后,再按下方向键右’—>’或者l键。

② 请求拦截 

按下i键后,可以对指定的请求进行拦截。按mitmproxy收到指定条件的请求时,不会立马把它转发出去,而是等待我们执行resume操作后,才会把请求转发出去——在这期间我们甚至可以对请求进行手动修改。

红色字体表示该请求被拦截,之后我们可以按入a键来恢复该请求,可以输入A键恢复所有被拦截的请求。

③ 查看/编辑请求 

把指示光标移动到某个请求上,按回车可以查看请求的内容。或者鼠标直接点击请求也可以。

之后通过左右方向键可以查看request、response、detail等信息。

如果要编辑请求,可以在这个界面输入e,然后会让我们选择编辑哪块内容:

之后就会进入vim编辑界面编辑相应的内容了(保存后会生效)。

④ 重发请求 

mitmproxy的光标指向某个请求时,按下r键可以重发这个请求(重发前可以对该请求进行编辑)。

按下’:’键后,可以输入命令,这样我们就可以通过过滤规则批量的重发请求

replay.client是mitmproxy内置的一个命令,我们也可以自行编写命令。命令的编写可以参考官网文档,这里不做介绍。

⑤ 插件开发 

我们可以编写插件,然后再启动的时候指定插件,mitmproxy处理请求的时候会执行一个插件的链,这样我们就可以对请求进行编辑然后再发送出去了。

借用官网的插件demo:

这个方法对每一个请求进行处理,然后打印序号。通过mitmproxy -s test.py来让插件生效。通过插件可以绑定各种连接事件。感兴趣的朋友可以自行去mitmproxy官网看文档,这里不多做介绍。

⑥ 保存抓到的请求数据 

通过w快捷键我们可以把这次抓到的请求包保存到文件上。

通过mitmproxy -r file可以读取以前抓取的请求信息进行分析。

优点:

命令行操作,可以在无GUI界面的服务器上使用

对于这几个抓包神器,我总结了下使用场景:

只抓http协议的话:

推荐使用mitmproxy。mitmproxy丰富的功能不仅可以满足我们的抓包需求,还可以提升我们的工作效率。比如测试可以抓包后一键重发请求来重现bug,开发调试的时候可以修改请求内容等等。

如果是在线上的没有GUI的服务器:

推荐使用tcpmp,虽然mitmproxy也可以支持命令行抓包,但是生产环境的服务器最好不要乱安装第三方插件。另外,大多数服务器都有装tcpmp。我们可以通过把请求的内容输出到文件,然后拷贝会自己的电脑用wireshark分析。

想要抓取http以外的协议的话:

直接上wireshark。功能强大。对于Charles,感觉用了mitmproxy之后,就基本用不上Charles了。Charles好像也可以编辑后再发送,但是感觉不是很好用,可能我用的不是很熟吧。

‘拾’ 如何通过wireshark抓取某个指定网站的数据包

运行wireshark软件,选择无线网络连接,点击start,进入捕包界面,在filter(过滤器)的方框中,输入http。 点击右侧的apply(应用),就能捕获指定的网站数据包。

阅读全文

与如何抓取服务器的包相关的资料

热点内容
易语言在线编译 浏览:111
unityandroid游戏开发教程 浏览:93
android去掉虚拟按键 浏览:872
内地激情戏多的电影 浏览:42
更新最快的电视剧电影网 浏览:263
剑三宏设置命令 浏览:245
3C语言编译器 浏览:170
我的世界基岩版怎么加入tis服务器 浏览:390
php论坛模板 浏览:908
找个免费看电影的网站 浏览:372
程序员怎么接手别人遗留的代码 浏览:752
瞬变pdf 浏览:307
php开发仓库管理系统 浏览:688
12米小孩自己看电影 浏览:676
丧尸电影全部 浏览:660
go编译器选择 浏览:448
天正门窗总表命令 浏览:257
pdf阅读器编辑 浏览:514
sp古风训诫细致 浏览:857
android广播启动服务器 浏览:902