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. java并发:线程池、饱和策略、定制、扩展

    一.序言 当我们需要使用线程的时候,我们可以新建一个线程,然后显式调用线程的start()方法,这样实现起来非常简便,但在某些场景下存在缺陷:如果需要同时执行多个任务(即并发的线程数量很多),频繁地创 ...

  2. [leetcode]算法题目 - Reverse Nodes in k-Group

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...

  3. Python时间性能测量

    主要有以下三种方式: 一,CPU时间 time.clock() 测量CPU时间,比较精准,通过比较程序运行前后的CPU时间差,得出程序运行的CPU时间. 二, 时钟时间 time.time() 测量时 ...

  4. 【转】赶集网mysql开发36军规

    原文链接:https://segmentfault.com/a/1190000004711147 写在前面的话:总是在灾难发生后,才想起容灾的重要性:总是在吃过亏后,才记得曾经有人提醒过. (一)核心 ...

  5. SpringMVC学习--springmvc和mybatis整合

    简介 springMVC是表现层,service充当业务层,mybatis作为持久层,通过spring将这三层整合起来.如下图: 第一步:整合dao层 mybatis和spring整合,通过sprin ...

  6. JavaScript 全栈工程师培训教程(来自阮一峰)

    来源于:https://twitter.com/ruanyf http://www.ruanyifeng.com/blog/2016/11/javascript.html 全栈工程师培训材料,帮助学习 ...

  7. LINUX中简单的字符命令

    1. ls 查看目录中的内容 -a 查看隐藏文件 -l 显示文件的详细信息 -d 显示目录属性 -h 人性化显示文件大小 -i 显示ID号 2. 目录操作 创建目录 mkdir [-p](递归) di ...

  8. android与网络的交互

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

  9. nefu 117 素数定理

    小明是一个聪明的孩子,对数论有着很浓烈的兴趣.他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小.现在的问题是,告诉你n的值,让你帮助小明计算小于10n的素数的 ...

  10. javac 编译与 JIT 编译

    编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中 ...