关于Wireshark,熟悉网络或网络性能方面的同学应该知道,使用Wireshark工具通过抓取数据包,对系统网络问题进行分析,该工具简单、易用、易学!

百度百科上面是这样描述的:Wireshark(前称Ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

Wireshark抓包原理:把Wireshark主机上的网卡接入有线或无线网络开始抓包时,介于有线网卡和抓包引擎之间的软件驱动程序便会参与其中。在Windows和UNIX平台上,分别对应WinPacp和Libcap驱动程序,对于无线网卡,抓包时启动AirPacp驱动程序。

学习Wireshark网络分析,先了解OSI网络协议模型共分为七层:

应用层    指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件

表示层    数据语法的转换、数据的传送等

会话层   建立起两端之间的会话关系,并负责数据的传送

传输层   负责错误的检查与修复,以确保传送的质量,是TCP工作的地方。(报文)

网络层(互联网层) 提供了编址方案,IP协议工作的地方(数据包)

数据链路层  将由物理层传来的未经处理的位数据包装成数据帧

物理层   对应网线、网卡、接口等物理设备(位)

一、wireshark工具界面介绍

抓取网络包后,wireshark面板每一行对应一个网络报文,每一个网络报文包含的信息:

报文接收时间(相对开始抓取的时间点)、源地址IP、目标地址IP、协议以及报文信息。

Frame:物理层的数据帧概况

Ethernet II :数据链路层以太网头部帧

Internet Protocol Version 4:互联网层IP包头的信息

Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议

Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议

在Wireshark中关于数据包的叫法有三个术语,分别是帧、包、段

所以对于包结构的分析关键在于三个知识点的学习:http header, tcp header, ip header

二、Wireshark架构

wireshark可以被划分为四个主要模块:Capture Core,WireTap, Protocol Interpreter and Dissector和GUIintrerface。其中Capture Core使用pcap(windows下为winpcap,linux下为libpcap)抓取网络数据包,获取数据包后,WireTap把它保存为二进制文件,interpreter and dissector就是把二进制文件展现成用户容易理解的文本形式,其中dissector又分为build-in和plug-in两种,build-in很好理解,plug-in在1.3节会详细介绍一下;GUIinterface,顾名思义就是用户界面了。

架构图:

三、过滤抓包

Wireshark抓包过滤器运作机制是基于tcpdump程序的。

Wireshark的Filter分为两种,一种为Capture Filter,另一种是Display Filter。

启动wireshark后,在抓包前,可以使用Capture Filter进行过滤抓包

过滤条件:

#针对服务器IP地址进行过滤抓取

host 58.67.220.228

#针对抓取请求端口进行过滤抓取

port 9080

#只抓取源或目的端口范围的2000到2500之间的TCP数据包

tcp portrange 2000-2500

另一种是Display Filter,这是在抓取包之后,在wireshark界面上操作,进行过滤信息

Wireshark网络分析工具(一)的更多相关文章

  1. Wireshark网络分析工具(二)

    一.TCP三次握手过称 1. 第一次握手的数据包 客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接. 如下图: 2. 第二次握手的数据包 服务器发回确认包, 标志位为 SYN ...

  2. [转] X-RIME: 基于Hadoop的开源大规模社交网络分析工具

    转自http://www.dataguru.cn/forum.php?mod=viewthread&tid=286174 随着互联网的快速发展,涌现出了一大批以Facebook,Twitter ...

  3. Wireshark网络分析实战笔记(三)基本信息统计工具的使用方法

    Capture File Properties:获取网络中数据包的整体信息 用法:Statistics菜单条下Capture File Properties选项 Protocol Hierarchy: ...

  4. VISION控制器标定及网络分析工具

    VISION 标定和数据采集软件是一个强大的集成工具包,各个工具包可以无缝组合在一起,提供集成的可定制的应用程序,从而能够实现完整的标定和数据分析功能,包括从电子控制单元及外部源收集数据,测量输入和输 ...

  5. WireShark网络分析就这么简单 读后感

    京东618活动,满200减100,果断入手了这本经典的 WireShark教程

  6. Wireshark网络分析就这么简单

    tcpdump抓包命令: root#tcpdump -I eth0 -s 80 -w /tmp/tcpdump.cap 注:其中80表示,只抓每个包的前80个字节. 抓包时就筛选自己需要的包: Wir ...

  7. 读《Wireshark网络分析就这么简单》读书笔记

    晚上花了两个多小时看完这本书,记录下一些看书过程中的笔记. 一.问题:A和B 是否能正常通信? 两台服务器A和服务器B的网络配置 A                                  ...

  8. Wireshark网络分析实战笔记(一)抓包过滤器

    抓包过滤器和显示过滤器的差别: 1.抓包过滤器配置在抓包之前,wireshark仅仅抓取抓包过滤器过滤的数据 2.显示过滤器配置在抓包后,wireshark已经抓取全部的数据包,显示过滤器让wires ...

  9. Wireshark网络分析就这么简单——读书笔记

    前言 什么是wireshark? wireshark可能是世界上最好的开源网络分析器,能在多个平台上(Linux.Mac和Windows)抓取和分析网络包 wireshark分析常见的协议,可以在学习 ...

随机推荐

  1. pat(B) 1037. 在霍格沃茨找零钱(水题)

    代码: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> ...

  2. iOS开发-Swift获取手机设备信息(UIDevice)

    使用UiDevice获取设备信息 获取设备名称 let name = UIDevice.currentDevice().name 获取设备系统名称 let systemName = UIDevice. ...

  3. 电脑 F键(功能键)的具体作用

    F1:如果你处在一个选定的程序中而需要帮助,那么请按下F1.如果现在不是处在任何程序中,而是处在资源管理器或桌面,那么按下F1就会出现Windows的帮助程序.如果你正在对某个程序进行操作,而想得到W ...

  4. .net面试中的一些常见问题与答案

    1.页面传值的方式及其优缺点?   Session,Application,Cookies,Requst.QueryString,Requst.Form,Server.Transfer(通过Conte ...

  5. /u200B 8203 Zero-width space 问题

    [TestMethod] public void TestBom() { string str = "123​";//这个字符串是错误的有问题 长度4 ).Select(x =&g ...

  6. postman --发送json请求

    转自: http://blog.csdn.net/wangjun5159/article/details/47781301 简介: postman是一个很好的http模拟器,在测试rest服务时是很好 ...

  7. Error: [vuex] vuex requires a Promise polyfill in this browser. 与 babel-polyfill 的问题

    Error: [vuex] vuex requires a Promise polyfill in this browser. 与 babel-polyfill 的问题 采用最笨重的解决方案就是npm ...

  8. Atitit.跨语言反射api 兼容性提升与增强 java c#。Net  php  js

    Atitit.跨语言反射api 兼容性提升与增强 java c#.Net  php  js 1. 什么是反射1 1.1.       反射提供的主要功能:1 1.2.       实现反射的过程:1 ...

  9. Pycharm快捷键小结

    1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + ...

  10. Android 4.4 全套源代码及子模块源代码的下载方法

    博文<Android源代码下载--用git clone实现单个文件夹下载>介绍了採用git clone方法下载Android单个文件夹源代码的方法,这篇文章已经有四年的历史,这期间Goog ...