Wireshark 是一个网络封包分析软件。网络封包分析软件的功能是获取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

一  安装和配置WireShark环境

1 安装 WireSharek

  去官网上下载最新的而且稳定的版本 。

https://www.wireshark.org/download.html

根据使用的操作系统类型,选择最新的稳定的版本

  根据使用的操作系统类型,选择最新的稳定的版本,安装完成后进入wireshark运行界面。

2 配置 WireShark

查看电脑中有哪些网卡可以获取流量, 点击 capture -> interface

  确定好抓取流量的网卡后,一定要选中混杂模式"use promiscuous mode on all interfaces",否则就无法获取内网的其他信息。然后WireShark就开始捕获网卡的数据了。

二 捕获发送请求

1 使用WireShark捕获报文

在页面中发送一个带参数的request请求如下所示,

  使用WireShark抓取网络数据包后,抓到的数据报文如下图所示:

  选择那条报文,右击鼠标选择"追踪流" -> "TCP流",查看请求返回的数据值。

2 转意请求地址

  发送的请求地址如下,会发现请求的参数(在?后面那堆参数)使用16进制的数字。

http://aaa.com?param=%7B%22resType%22%3A%22vm%22%2C%22projectId%22%3A%2209a362f281b64f3983a9feef8164182b%22%2C%22resourceStatus%22%3A%22%22%2C%22resourcePoolId%22%3A%22%22%2C%22name%22%3A%22%22%2C%22startpage%22%3A%221%22%2C%22pagesize%22%3A%2210%22%7D

  可以通过JS进行解义。

var url ="http://aaa.com?param=%7B%22resType%22%3A%22vm%22%2C%22projectId%22%3A%2209a362f281b64f3983a9feef8164182b%22%2C%22resourceStatus%22%3A%22%22%2C%22resourcePoolId%22%3A%22%22%2C%22name%22%3A%22%22%2C%22startpage%22%3A%221%22%2C%22pagesize%22%3A%2210%22%7D" ;
var decodeUrl = decodeURIComponent(url);
console.log(decodeUrl );

  也可以通过JAVA进行解义。

try
{
  String url ="http://aaa.com?param=%7B%22resType%22%3A%22vm%22%2C%22projectId%22%3A%2209a362f281b64f3983a9feef8164182b%22%2C%22resourceStatus%22%3A%22%22%2C%22resourcePoolId%22%3A%22%22%2C%22name%22%3A%22%22%2C%22startpage%22%3A%221%22%2C%22pagesize%22%3A%2210%22%7D" ;
  String decodeUrl = URLDecoder.decode(url, "UTF-8");
  System.out.println(decodeUrl);
  } catch (UnsupportedEncodingException e)
  {
    e.printStackTrace();
  }

参考文章:http://microsoftarena.net/winpcap-on-windows-8-how-to/

注意:运行Wireshark后如果没有显示网卡的话,那么要用管理员身份运行程序才能见到网卡。

其他资料:

http://www.9upk.com/article/2537.html
http://blog.sina.com.cn/s/blog_5d527ff00100dwph.html
http://openmaniak.com/cn/wireshark_filters.php
http://www.w3school.com.cn/jsref/jsref_decodeURI.asp
http://www.jb51.net/article/22880.htm
http://zhidao.baidu.com/link?url=LlzoCR3yYuDqEWpBueyZ8ZYKxMR14CWzcd_X-T_rKnQDyPVFPUuJF-l4F9-pfnhMKe4gkljvetwpTKmdrtsY6a

使用Wireshark 抓取数据包的更多相关文章

  1. 使用wireshark抓取TCP包分析1

    使用wireshark抓取TCP包分析1 前言 介绍 目的 准备工作 传输 创建连接 握手 生成密钥 发送数据 断开连接 结论 前言 介绍 本篇文章是使用wireshrak对某个https请求的tcp ...

  2. Android移动网络如何抓取数据包

    1)下载tcpdump工具 tcpdump(dump the traffic on a network)是Linux中强大的网络数据采集分析工具之一,可以将网络中传送的数据包头完全截获下来提供分析.它 ...

  3. tcpdump 基于mac地址抓取数据包

    1.刚刚接触tcpdump时,常用tcpdump -i eth1 host 192.168.1.1 这个命令基于ip地址抓取数据包信息. tcpdump -i eth1(接口名称) host 192. ...

  4. Fiddler抓取数据包分析案例

    案例:利用Fiddler抓取苏宁易购网站数据包分析 抓包软件:Fiddler4 请求名字:www.suning.com 详细内容: 一.了解数据包区域的字段含义 图1数据包区域 #:顺序号,按照抓包的 ...

  5. iPhone 手机用 Fiddler 抓取数据包 问题

    近日公司服务升级,将所有的接口请求由HTTP升级为了HTTPS,升级后在手机中安装了Fiddler的证书,Android端抓取HTTPS请求一切正常,可是在ios端抓取HTTPS请求时一直提示“此服务 ...

  6. 利用libpcap抓取数据包

    转载自:http://blog.csdn.net/tennysonsky/article/details/44811899 概述 libpcap是一个网络数据包捕获函数库,tcpdump就是以libp ...

  7. WinPcap抓取数据包

    #WinPcap和Libpcap的最强大的特性之一,是拥有过滤数据包的引擎. 它提供了有效的方法去获取网络中的某些数据包,这也是WinPcap捕获机制中的一个组成部分. 用来过滤数据包的函数是#

  8. Wireshark抓取RTP包,还原语音

    最近在做基于SIP的VoIP通信研究,使用Wireshark软件可以对网络流量进行抓包. VoIP使用RTP协议对语音数据进行传输,语音载荷都封装在RTP包里面.要对传输中的语音进行截获和还原,需要通 ...

  9. Wireshark抓取TCP包分析

    介绍 本篇文章是使用wireshrak对某个https请求的tcp包进行分析. 目的 通过抓包实际分析了解tcp包. 准备工作 在我自己机子上安装的是wireshark2.2.6版本,随机查找了某个T ...

随机推荐

  1. Word Excel 操作总结

    1.与office无关使用 Aspose.Cells.dll,Aspose.Words.dll 2.使用Microsoft.Office.Interop.Excel Microsoft.Office. ...

  2. Python3.5 + django1.8.5 安装”import pymysql pymysql.install_as_MySQLdb()”的解决方法

    最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到"被解放的姜戈"时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: ...

  3. java代码注释规范

    java代码注释规范   代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下我们在诉求网二 ...

  4. Entity Framework 出现 "此 ObjectContext 实例已释放,不可再用于需要连接的操作" 的错误

    原因 Entity的导航属性在View中使用,但是该Entity所在的Context已经在Controller中通过 using 释放掉:但是Entity又具有Deferred Query Evalu ...

  5. Quartz.NET 入门

    概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了 ...

  6. htop查看系统负载

    htop 是 Linux 系统中的一个互动进程查看器,可以让用户进行交互式操作,可横向或纵向滚动浏览进程列表,支持鼠标操作.用户可以在安装 htop 来监控服务器的负载. 01.下载 https:// ...

  7. python表达式操作符【学习python必知必会】

    运算符 描述 实例 yield x 生成器函数发送协议   lambda args: expression 生成匿名函数   x if y else z 三元选择表达式(c系列有的 python也要有 ...

  8. SpringMVC学习--springmvc原理

    简介 springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合.springmvc是一个基于mvc的web框架. spring的结构图: mvc在b/ ...

  9. android与网络的交互

    有三种方式: 数据下载,数据上传,数据浏览 URL中一些符号 ?分隔URL和参数 &URL中参数之间的分隔符 =URL中参数对应的值

  10. Eclipse+Maven创建webapp项目<一>

    Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...