精华内容
下载资源
问答
  • Wireshark常用功能

    千次阅读 2016-06-20 15:34:59
    Wireshark常用功能 使用版本:中文版本2.0 文件菜单实用选项: 编辑菜单实用选项 查找包标记包 设置时间参考 、首选项设定后所有包都会已该包为参考点,进行时间的排序     时间显示格式:...

    Wireshark常用功能

    使用版本:中文版本2.0

    文件菜单实用选项:


    编辑菜单实用选项

    查找包标记包 设置时间参考 、首选项设定后所有包都会已该包为参考点,进行时间的排序

     

     

    时间显示格式:使用自己适用的时间显示

    调整列宽:回复列宽

    在新窗口中显示分组:将包的详细情况显示在新窗口中

    统计菜单:一些功能参加wireshark 高级实用技巧

    解析后的地址是个常用的功能,假如你想知道运行个恶意代码都访问了那些IP,解析了什么域名可以用到。

    最常用的功能应该属于右键菜单。


    标记流、注释流、追踪流。最重要的是可以在这里设置筛选,筛选出显示和需要过滤的自节。

     

    展开全文
  • wireshark功能模块分析

    千次阅读 2013-03-06 10:49:00
    2. Wireshark功能模块 下图给出了wireshark功能模块: a) GTK1/2 处理用户的输入输出显示,源码在gtk目录. b) Core 核心模块,通过函数调用将其他模块连接在一起,源码在根目录 c) Epan wireshark ...

    1. 简介

    2. Wireshark功能模块

    下图给出了wireshark功能模块:

    a) GTK1/2

    处理用户的输入输出显示,源码在gtk目录.

    b) Core

    核心模块,通过函数调用将其他模块连接在一起,源码在根目录

    c) Epan

    wireshark Packetage Analyzing,包分析引擎,源码在epan目录

    l Protocol-Tree:保存数据包的协议信息,wireshark的协议结构采用树形结构,解析协议报文时只需要从根节点通过函数句柄依次调用各层解析函数即可。

    l Dissectors:在epan/dissector目录下,各种协议解码器,支持700+种协议解析,对于每种协议,解码器都能识别出协议字段(field),并显示出字段值(field value)由于网络协议种类很多,为了使协议和协议间层次关系明显,对数据流里的各个层次的协议能够逐层处理,wireshark系统采用了协议树的方式。

    l Plugins:一些协议解码器以插件形式实现,源码在plugins目录

    l Display-Filters:显示过滤引擎,源码在epan/dfilter目录

    d) Capture

    捕包引擎,利用libpcap/WinPcap从底层抓取网络数据包,libpcap/WinPcap提供了通用的抓包接口,能从不同类型的网络接口(包括以太网,令牌环网,ATM网等)获取数据包。

    e) Wiretap

    从文件中读取数据包,支持多种文件格式,源码在wiretap目录

    f) Win-/libpcap

    Wireshark抓包时依赖的库文件

    wireshark功能模块

    3. wireshark流程分析

    1) 初始化

    Wireshark的初始化包括一些全局变量的初始化、协议分析引擎的初始化和Gtk相关初始化,显示Ethereal主窗口,等待用户进一步操作。重点就是Epan模块的初始化。

    Epan初始化:

    n tvbuff初始化:全局变量tvbuff_mem_chunk指向用memchunk分配的固定大小的空闲内存块,每个内存块是tvbuff_t结构,从空闲内存块中取出后,用来保存原始数据包。

    n 协议初始化:

    u 全局变量:

    proto_names 

    proto_short_names 

    proto_filter_names 

    以上三个全局变量主要用来判断新注册的协议名是否重复,如果重复,给出提示信息,在协议解析过程中并没有使用。

    u 协议注册:

    l 注册协议:将三个参数分别注册给proto_names、proto_short_names、proto_filter_names三个全局变量中,

    l 注册字段,需要在wireshark协议树显示的报文内容字段。

    l 协议解析表

    u Handoff注册

    l 将协议与父协议节点关联起来

    n Packet(包)初始化

    u 全局变量:

    l frame_handle:协议解析从frame开始,层层解析,直到所有的协议都解析完为止。frame_handle保存了frame协议的handle。

    l data_handle:有的协议无法从frame开始,那么就从data开始。原理同frame。 

    n 读配置文件preference

    n 读capture filter和display filter文件,分别保存在全局变量capture_filter和display_filter中。

    n 读disabled protocols文件,保存全局变量global_disabled_protos和disabled_protos中

    n 初始化全局变量cfile

    u Cfile是个重要的变量,数据类型为capture file,它保存了数据包的所有信息,

    n 取得命令行启动时,参数列表,并进行相应的处理

    2) 处理流程

    Wireshark初始化完成以后进入实际处理阶段,主程序创建抓包进程,捕包进程和主程序是通过PIPE进行传递数据的,主程序把抓取的数据写入临时文件,通过函数add_packet_to_packet_list将数据包加入包列表。处理时,主程序从列表中选取一个数据包,提取该数据包中的数据填写在数据结构中,最后调用协议解析函数epan_dissect_run进行处理,从epan_dissect_run开始,是实际的协议解析过程,

    下面以HTTP协议报文为例,流程如下:

    a) 解析frame层

    调用函数dissect_frame对frame层进行解析,并在协议树上填充相应字段信息。函数最后会判断是否有上层协议封装,如果有则调用函数dissector_try_port在协议树上查找对应的解析函数,这里函数dissector_try_port根据pinfo->fd->lnk_t查找对应的上层协议处理函数,pinfo->fd->lnk_t值为1,上层封装协议为以太网协议,全局结构体指针变量dissector_handle当前的协议解析引擎句柄置为dissect_eth_maybefcs,至此,frame层解析结束。

    g) 解析以太网层

    函数call_dissector_work根据dissector_handle调用frame上层协议解析函数dissect_eth_maybefcs对以太网层进行解析,并在协议树上填充相应字段,包括目的MAC地址和以太网上层协议类型等信息。函数最后会判断是否有上层协议封装,如果有则调用函数dissector_try_port在协议树上查找对应的解析函数,这里函数dissector_try_port根据etype查找对应的上层协议处理函数,以太网字段etype为0800的报文是ip报文,上层封装协议为IP协议,全局结构体指针变量dissector_handle当前的协议解析引擎句柄置为dissect_ip,至此,以太网层解析结束。

    h) 解析IP层

    函数call_dissector_work根据dissector_handle调用以太网上层协议解析函数dissect_ip对以太网层进行解析,并在协议树上填充相应字段,包括版本号,源地址,目的地址等信息。函数最后会判断是否有上层协议封装,如果有则调用函数dissector_try_port在协议树上查找对应的解析函数,这里函数dissector_try_port根据nxt (nxt = iph->ip_p)查找对应的上层协议处理函数,以太网字段nxt为06的报文是TCP报文,上层封装协议为TCP协议,全局结构体指针变量dissector_handle当前的协议解析引擎句柄置为dissect_tcp,至此,IP层解析结束。

    i) 解析TCP层

    函数call_dissector_work根据dissector_handle调用以太网上层协议解析函数dissect_tcp对TCP层进行解析,包括对TCP头的解析和选项字段的解析,并在协议树上填充相应字段,包括源端口,目的端口,标志位等信息。函数最后会判断是否有上层协议封装,如果有则调用函数dissector_try_port在协议树上查找对应的解析函数,这里函数dissector_try_port根据port查找对应的上层协议处理函数,将源端口和目的端口分别赋值给low_port和high_port,根据low_port和high_port分别匹配上层协议解析函数,port为80的报文是HTTP报文,上层封装协议为HTTP协议,全局结构体指针变量dissector_handle当前的协议解析引擎句柄置为dissect_http,至此,TCP层解析结束。

    j) 解析HTTP层

    至此wireshark进入应用层协议检测阶段,wireshark解析dissect_http函数中注册的字段,并提取相应的字段值添加到协议树中,应用层的具体解析流程将在下面介绍。HTTP协议具体函数调用过程参见:

    重要的数据结构

    struct _epan_dissect_t {
    tvbuff_t *tvb;//用来保存原始数据包
    proto_tree *tree;//协议树结构
    packet_info pi;// 包括各种关于数据包和协议显示的相关信息
    };
    /** Each proto_tree, proto_item is one of these. */
    typedef struct _proto_node {
    struct _proto_node *first_child;//协议树节点的第一个子节点指针
    struct _proto_node *last_child; //协议树节点的最后一个子节点指针
    struct _proto_node *next; //协议树节点的下一个节点指针
    struct _proto_node *parent;//父节点指针
    field_info  *finfo;//保存当前协议要显示的地段
    tree_data_t *tree_data;//协议树信息
    } proto_node;
    typedef struct _packet_info {
      const char *current_proto; //当前正在解析的协议名称
      column_info *cinfo; //wireshark显示的信息
      frame_data *fd;//现在分析的原始数据指针
      union wtap_pseudo_header *pseudo_header;//frame类型信息
      GSList *data_src; /*frame层信息 */
      address dl_src; /* 源MAC */
      address dl_dst; /*目的MAC */
      address net_src; /* 源IP */
      address net_dst; /*目的IP */
      address src; /*源IP */
      address dst; /*目的IP */
      guint32 ethertype; /*以太网类型字段*/
      guint32 ipproto; /* IP协议类型*/
      guint32 ipxptype; /* IPX 包类型 */
      guint32 mpls_label; /* MPLS包标签*/
      circuit_type ctype;
      guint32 circuit_id; /*环路ID */
      const char *noreassembly_reason;  /* 重组失败原因*/
      gboolean fragmented; /*为真表示未分片*/
      gboolean in_error_pkt; /*错误包标志*/
      port_type ptype; /*端口类型 */
      guint32 srcport; /*源端口*/
      guint32 destport; /*目的端口*/
      guint32 match_port;           /*进行解析函数匹配时的匹配端口*/
      const char *match_string; /*调用子解析引擎时匹配的协议字段指针*/
      guint16 can_desegment; /* 能否分段标志*/
      guint16 saved_can_desegment;
      int desegment_offset; /*分段大小*/
    #define DESEGMENT_ONE_MORE_SEGMENT 0x0fffffff
    #define DESEGMENT_UNTIL_FIN        0x0ffffffe
      guint32 desegment_len;
      guint16 want_pdu_tracking;
      guint32 bytes_until_next_pdu;
      int     iplen;                /*IP包总长*/
      int     iphdrlen;             /*IP头长度*/
      int   p2p_dir;              
      guint16 oxid;                 /* next 2 fields reqd to identify fibre */
      guint16 rxid;                 /* channel conversations */
      guint8  r_ctl;                /* R_CTL field in Fibre Channel Protocol */
      guint8  sof_eof;             
      guint16 src_idx;              /* Source port index (Cisco MDS-specific) */
      guint16 dst_idx;              /* Dest port index (Cisco MDS-specific) */
      guint16 vsan;                 /* Fibre channel/Cisco MDS-specific */
      /* Extra data for DCERPC handling and tracking of context ids */
      guint16 dcectxid;             /* Context ID (DCERPC-specific) */
      int     dcetransporttype;
      guint16 dcetransportsalt; /* fid: if transporttype==DCE_CN_TRANSPORT_SMBPIPE */
    #define DECRYPT_GSSAPI_NORMAL 1
    #define DECRYPT_GSSAPI_DCE 2
      guint16 decrypt_gssapi_tvb;
      tvbuff_t *gssapi_wrap_tvb;
      tvbuff_t *gssapi_encrypted_tvb;
      tvbuff_t *gssapi_decrypted_tvb;
      gboolean gssapi_data_encrypted;
      guint32 ppid;  /* SCTP PPI of current DATA chunk */
      guint32 ppids[MAX_NUMBER_OF_PPIDS]; /* The first NUMBER_OF_PPIDS PPIDS which are present * in the SCTP packet*/
      void    *private_data; /* pointer to data passed from one dissector to another */
      /* TODO: Use emem_strbuf_t instead */
      GString *layer_names;  /* layers of each protocol */
      guint16 link_number;
      guint8  annex_a_used;
      guint16 profinet_type;  /* the type of PROFINET packet (0: not a PROFINET packet) */
      void *profinet_conv;     /* the PROFINET conversation data (NULL: not a PROFINET packet) */
      void *usb_conv_info;
      void *tcp_tree; /* proto_tree for the tcp layer */
      const char *dcerpc_procedure_name; /* Used by PIDL to store the name of the current dcerpc procedure */
      struct _sccp_msg_info_t* sccp_info;
      guint16 clnp_srcref;      /* clnp/cotp source reference (can't use srcport, this would confuse tpkt) */
      guint16 clnp_dstref;      /* clnp/cotp destination reference (can't use dstport, this would confuse tpkt) */
      guint16 zbee_cluster_id;  /* ZigBee cluster ID, an application-specific message identifier that
                                 * happens to be included in the transport (APS) layer header.
                                 */
      guint8 zbee_stack_vers;     int link_dir; /* 3GPP messages are sometime different UP link(UL) or Downlink(DL)*/
    } packet_info;


    展开全文
  • Wireshark常用功能(三)

    千次阅读 2018-10-17 13:22:53
    协议分层统计 统计通信流量中不同协议占的百分比

    协议分层统计

    统计通信流量中不同协议占的百分比

    在这里插入图片描述
    在这里插入图片描述

    网络节点和会话统计

    网络会话:统计通信会话中每个节点接收和发送的数据包个字节数,通过这个工具可以找出网络中哪个会话(IP地址或端口)最占用带宽

    在这里插入图片描述

    在这里插入图片描述

    网络节点:统计通信会话中每个节点接收和发送的数据包和字节数,通过这个工具可以找出网络中的哪个节点(IP地址或端口)最占用带宽

    在这里插入图片描述

    在这里插入图片描述

    图表分析

    I/O图表:对网络中的吞吐流量进行实时图形显示

    在这里插入图片描述

    数据图表:将会话通信过程图形可视化出来

    展开全文
  • Wireshark的常用功能

    千次阅读 2018-06-26 11:26:02
    Wireshark的常用功能分为四个方面:1.一般分析任务(1)找出在一个网络内发送数据包最多的主机(2)查看网络通信(3)查看某个主机使用了哪些程序(4)基本正常的网络通信(5)验证特有的网络操作(6)了解尝试连接...

    Wireshark的常用功能分为四个方面:

    1.一般分析任务

    (1)找出在一个网络内发送数据包最多的主机

    (2)查看网络通信

    (3)查看某个主机使用了哪些程序

    (4)基本正常的网络通信

    (5)验证特有的网络操作

    (6)了解尝试连接无线网络的用户

    (7)同时捕获多个网络的数据

    (8)实施无人值守数据捕获

    (9)捕获并分析到/来自一个特定主机或子网的数据

    (10)通过FTP或HTTP查看和重新配置文件传输

    (11)从其他捕获工具导入跟踪文件

    (12)使用最少的资源捕获数据

    2.故障任务

    (1)为故障创建一个自定义的分析环境

    (2)确定路径,客户端和服务延迟

    (3)确定TCP问题

    (4)检查HTTP代理问题

    (5)检查应用程序错误响应

    (6)通过查看图形显示的结果,找到相关的网络问题

    (7)确定重载的缓冲区

    (8)比较缓慢的通信到正常通信的一个基准

    (9)找出重复的IP地址

    (10)确定DHCP服务或网络代理问题

    (11)确定WLAN信号强度问题

    (12)检测WLAN连接的次数

    (13)检查各种网络配置错误

    (14)确定应用程序正在加载一个网络片段

    3.安全分析(网络取证)任务

    (1)为网络取证创建一个自定义分析环境

    (2)检查使用非标准端口的应用程序

    (3)确定到/来自可疑主机的数据

    (4)查看哪台主机正在尝试获取一个IP地址

    (5)确定phone home数据

    (6)确定网络侦查环境

    (7)全球定位和映射远程目标地址

    (8)检查可疑数据重定向

    (9)检查单个TCP或UDP客户端和服务器之间的会话

    (10)检查到恶意畸形的帧

    (11)在网络数据中找出攻击签名的关键因素

    4.应用程序分析任务

    (1)了解应用程序和协议如何工作

    (2)了解图形应用程序的带宽使用情况

    (3)确定是否将支持应用程序的链接

    (4)更新/升级后检查应用程序性能

    (5)从一个新安装的应用程序中检查错误响应

    (6)确定从哪个用户正在运行一个特定的应用程序

    (7)检查应用程序如何使用传输协议,如TCP或UDP

    展开全文
  • WireShark

    2019-10-03 23:38:11
    网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 官网地址:https://www.wireshark.org/ wireshark与Fiddler的区别 ...
  • wireshark

    2018-12-30 20:58:10
    wireshark 数据包分析实战详解》 小白的一些见解。Wireshark 通信延迟 时间过滤(time列) Tcp也可以使用协议过滤,tcp time时间差值 创建过滤器 着色规则和数据包导出 CMP的全称是 Internet Control Message ...
  • Wireshark

    2013-05-13 11:48:03
    Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network ...当时Ethereal的主要开发者决定
  • Wireshark学习

    千次阅读 2020-01-31 14:00:32
    0x1 Wireshark安装和下载 老样子给出Wireshark下载地址Wireshark官网,下载完成后除了选择安装路径外都可以直接下一步默认安装配置。如果嫌下载慢我这还有刚下好的最新版本x64 v3.2.1,给大家带来便利网盘入口,密码...
  • wireshark入门

    千次阅读 2019-07-31 15:28:34
    1.简介 Wireshark(前称Ethereal)是一个免费开源的网络数据包分析软件。...wireshark界面主要分为过滤器、包列表(不同的颜色代表不同的协议包)、包详细信息、16进制数据和地址栏等,他们的位置如图所...
  • 用python实现webshark(实现web版的wireshark功能
  • Wireshark实验

    2020-12-24 10:04:01
    计算机网络wireshark抓包学习
  • wireshark详解

    千次阅读 2020-04-18 23:16:32
    网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP(windows package capture,windows包捕获)作为接口,直接与网卡进行数据报文交换。 在过去,网络封包分析...
  • 长话短说,wireshark有一个follow tcp stream功能,这个功能很方便。美中不足的是提取出的stream 数据没有时间戳等其他信息,在分析数据的延时和丢包问题时就有些力不从心了。这里简单用python实现了一个简单follow ...
  • wireshark 介绍

    2018-07-15 17:07:52
    一、wireshark架构wireshark可以被划分为四个主要模块:Capture Core,WireTap, Protocol Interpreter and Dissector和GUIintrerface。其中Core使用pcap(windows下为winpcap,linux下...主要功能模块如下:1,GTK 1...
  • wireshark教程

    2019-09-25 23:05:13
    wireshark怎么抓包、wireshark抓包详细图文教程 wireshark怎么抓包、wireshark抓包详细图文教程 ...wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信...
  • wireshark使用

    2014-01-15 11:32:04
    wireshark介绍wireshark不能做的wireshark VS Fiddler同类的其他工具什么人会用到wiresharkwireshark 开始抓包wireshark 窗口介绍wireshark 显示过滤保存过滤过滤表达式封包列表(Packet List Pane)封包详细信息 ...
  • wireshark源码

    热门讨论 2012-06-10 21:43:51
    看源代码的主要兴趣点是它的分析模块(dissect)。分析之后他的数据存在哪儿,怎么打印的(-V参数)。我想把分析后的数据,提取出来,存在自己定义的数据结构里面,或者按我自己的格式写入文本中。 看了几天,对一些...
  • 工欲善其事必先利其器,wireshark是一款工具软件,主要作用是抓取数据封包,可以帮助我们更加直观更加具象的学习各种网路协议(http、TLS、TCP、UDP、IP、ARP、ICMP等)。学习wireshark能够帮助我们更好的了解网络...
  • wireshark详细图文入门教程

    万次阅读 多人点赞 2020-05-17 20:17:09
    1.功能 wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,...WireShark 主要分为这几个界面 Display Filter(显示过滤器), 用于过滤 Packet List

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,616
精华内容 5,046
热门标签
关键字:

wireshark的主要功能