一、简介

  1、什么是wireshark

    百度:

    Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
    在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。
    开源软件,用GPL协议发行,所以可以免费在任意数量机器上使用
    

  2、主要应用

    帮助管理员解决网络问题

    帮助安全工程师用来检测安全隐患

    开发人员用来测试协议执行情况

    用来学习网络协议

    等等。

  3、特性

    跨平台支持windows/unix平台

    在接口实时抓包

    能详细显示包的详细协议信息

    可以打开/保存捕捉的包

    可以导入导出其他程序支持的包数据格式

    可以通过多种方式过滤包

    多种方式查找包

    通过过滤以多种彩色显示包

    创建多种统计分析。。。

  4、多种网络接口

    可以捕捉多种网络接口,甚至无线局域网接口

  5、哪些事情不能做?

    不能用作入侵检测系统,不会处理网络事务,仅是监视网络,不会发送网络包或做其他交互的事情,但可以做名称解析

二、使用wireshark

  1、打开后看到的第一页面,这里就称为初始页面吧

  2、怎么样开始抓包

    通过捕获选项

    上面的初始页面,有两个入口可以点击一个是在main工具栏,一个是中间位置的captrue options

    点击captrue options图标》弹出网卡如多网卡指定抓包网卡》开始抓包

  3、wireshark窗口的介绍

    wireshark主要分为7个界面

    主菜单

      菜单页面包括file、edit、view、go、capture、analyze、statistics、help

    main工具栏

      一些快捷导航,比如capture,开始,停止等等

    过滤器

      指定需要捕获所需要的条件,比如源地址/目标地址

    封包列表

      已经捕获到的封包,有源地址/目标地址,端口;颜色的不同代表不同的

    封包详情

      显示封包中的各字段

    16禁止数据

      顾名思义

    地址栏

      地址栏及一些杂项

  4、过滤条件

    通过集中表达式规则进行过滤

    1)protocols

      比如tcp,ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp and udp

    2)direction

      src,dst,src and dst,src or dst(不指定就是双向)

    3)host(新版,老版本没有host)

      net,port,host,portrange

    4)logical openrations逻辑运算

      and,or,not(下面有官方实例)

  5、过滤关系

    1)组合表达式

    Table 6.6. Display Filter Logical Operations

English C-like Description and example

and

&&

Logical AND. ip.src==10.0.0.5 and tcp.flags.fin

or

||

Logical OR. ip.scr==10.0.0.5 or ip.src==192.1.1.1

xor

^^

Logical XOR. tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29

not

!

Logical NOT. not llc

[…​]

 

See “Slice Operator” below.

in

 

See “Membership Operator” below.

    2)运算符号

      参考官方https://www.wireshark.org/docs/wsug_html/#DispCompOps

   Table 6.5. Display Filter comparison operators

English C-like Description and example

eq

==

Equal. ip.src==10.0.0.5

ne

!=

Not equal. ip.src!=10.0.0.5

gt

>

Greater than. frame.len > 10

lt

<

Less than. frame.len < 128

ge

>=

Greater than or equal to. frame.len ge 0x100

le

<=

Less than or equal to. frame.len ⇐ 0x20

contains

 

Protocol, field or slice contains a value. sip.To contains "a1762"

matches

~

Protocol or text field match Perl regualar expression. http.host matches "acme\.(org|com|net)"

bitwise_and

&

Compare bit field value. tcp.flags & 0x02

  6、常见过滤需求

   1)、数据链路层

    mac地址过滤

      eth.addr==00:0c:29:1c:8b:39

      eth.src==00:0c:29:1c:8b:39

      eth.dst==00:0c:29:1c:8b:39

   2)、网络层    

    ip地址过滤

      ip.addr==192.168.216.51

      ip.src==192.168.216.51

      ip.dst==192.168.216.51

   3)、传输层

      tcp/udp

      tcp.prot==80

      tcp.dstport==80

      tcp.srcport==80

   4)、应用层

      http.request.uri contains ".php"

   5)、wireshark支持筛选的还有很多协议,这里不一一列举,请查看官方文档

      udp、tcp、arp、icmp、smtp、pop、dns、ip、ssl、http、ftp、telnet、ssh、rdp、rip、ospf

   6)、协议参数过滤

      tcp.flags.syn==0x02 显示包含syn标志位的数据包

      frame.len==119  整个数据包长度,从eth开始到最后

      http.request.method=="get"  显示http请求中method值为get的包

   7)、逻辑条件组合筛选

    ||

    &&

    !

    组合条件“与”

    ip.src==192.168.216.51&&ip.dst==192.168.216.52

    组合条件“或”

    ip.src==192.168.216.51||ip.src==192.168.216.52

    组合条件“非”

    !(ip.src==192.168.216.51)

三、新版本差异 

  新版和老版本是存在很多差异的如

  1、示例1-mac

  2、示例2-ip

  3、示例3-tcp

  4、示例4-http

四、分析tcp三次握手

  1、三次握手简单图示

  2、第一次握手

    客户端请求建立连接,发送请求包,标志位SYN,序号为0

  3、第二次握手

    服务端返回确认,标志位SYN,ACK,设置初始序列号Y=0, X+1=0+1=1,这个就是acknowledgement number了(确认序号)

  4、第三次握手

    客户端收到服务器发来的确认号正确,客户端再次发送确认ACK,SYN标志位为0,ACK标志位是1,确认序号=y+1=0+1,发送序号位x+1=1,服务器收到确认序号值与ack=1连接建立成功,开始传输数据

五、四次挥手

    四次挥手即tcp断开连接得时候会有四次挥手得过程

    为什么需要四次挥手那?

      因为tcp协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,并且是全双工模式,需要两边连接全部关闭,此tcp会话才算完全关闭,四次挥手使得tcp连接能够可靠的终止,还有timed_wait也使得连接终止后网络上残余的发送给该连接的数据被丢弃而不至于被新连接接收,这种方式也更安全

  1、图示四次挥手

  2、抓包示例挥手协议图示

  3、第一次挥手

    属性:

      ACK+FIN:标志位

      Seq=23:序列号

      ACK=29:接收的序列号+SYN包,也就是确认的序号

    第一次挥手,客户端给服务器发送tcp包,用来关闭客户端到服务器的数据传输,发送FIN ACK报文 seq=23 ack=29

  4、第二次挥手

     第二次挥手,服务器收到FIN,发回一个ACK,Seq=29,ack=23

  5、第三次挥手

    服务端关闭和客户端连接,发送一个FIN,seq=24,ack=29

  6、第四次挥手

    第四次挥手,客户端收到服务器发送的FIN后,发回ACK确认,确认序号加1,就是30,这里就完全断开连接了。

转载请注明出处:https://www.cnblogs.com/zhangxingeng/p/11200063.html

了解使用wireshark抓包工具的更多相关文章

  1. Wireshark抓包工具使用教程以及常用抓包规则

    转载:http://fangxin.blog.51cto.com/1125131/735178 Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析, ...

  2. 使用wireshark抓包工具 检测不到本地网卡

    wireshark 抓包工具无法检测到自身的网卡 下载wireshark 地址:https://www.wireshark.org/download.html 安装,打开后发现没有windows 本身 ...

  3. Wireshark抓包工具解析HTTPS包

    目录 一.遇到的问题 二.解决方案 1. 动态生成签名证书 2. Wireshark配置 3. 最终效果 一.遇到的问题 本学期的计算机网络课程需要使用到Wireshark抓包工具进行网络抓包实验,原 ...

  4. Wireshark抓包工具

    首先下载并安装Wireshark软件,最好选择中文版,因为会使你用的更顺手. 安装完毕之后,双击打开Wireshark软件,主界面还是比较清晰明了的,可是怎么用还是稀里糊涂的吧. 点击菜单栏红圈中的选 ...

  5. WireShark抓包工具使用

    WireShark是一款网络封包分析软件,它抓取网络封包,并尽可能显示出最详细的封包资料. wireshark的准备工作 安装wireshark sudo apt-get install wiresh ...

  6. Wireshark抓包工具--TCP数据包seq ack等解读

    1.Wireshark的数据包详情窗口,如果是用中括号[]括起来的,表示注释,在数据包中不占字节 2.在二进制窗口中,如“DD 3D”,表示两个字节,一个字节8位 3.TCP数据包中,seq表示这个包 ...

  7. [转]Wireshark抓包工具--TCP数据包seq ack等解读

    原文: http://blog.csdn.net/wang7dao/article/details/16805337/ ---------------------------------------- ...

  8. Linux中tshark(wireshark)抓包工具使用方法详解

    在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析.最近才发现,原来wires ...

  9. 【转】wireshark抓包工具详细说明及操作使用

      wireshark是非常流行的网络封包分析软件,功能十分强大.可以截取各种网络封包,显示网络封包的详细信息.使用wireshark的人必须了解网络协议,否则就看不懂wireshark了. 为了安全 ...

  10. Wireshark抓包工具的简单使用2(抓包、查看、过滤)

    在简单了解了Wireshark的界面以及各工具栏的作用后,也要掌握如何进行抓包,查询,过滤等操作 一.抓包 1.打开软件,初始界面 2.点击Caputre-->Interfaces,出现当前所有 ...

随机推荐

  1. Dependency Injection 筆記 (4)

    续上集未完的相关设计模式... (本文摘自電子書:<.NET 依賴注入> Composite 模式 延续先前的电器比喻.现在,如果希望 UPS 不只接计算机,还要接电风扇.除湿机,可是 U ...

  2. 高可用的zookeeper

    Install zookeeper wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13 ...

  3. 基于ASP.NET的新闻管理系统(二)效果展示

    5. 新闻管理系统开发与实现 5.1前台新闻页面 主页面 新闻栏展示新闻 搜索新闻 菜单栏链接新闻 后台登录界面 大管理员后台管理界面 小管理员后台管理界面 修改密码 增加新闻界面 栏目管理界面   ...

  4. Docker 安装mysql容器数据卷挂载到宿主机

    环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/l ...

  5. css之vw布局

    vw,vh是视口单位,是相对视口单位,与百分百布局不一样的是,百分百是相对于父及元素,而vw布局是相对与窗口. 而rem布局是要与js一起配合 // 以iphone6设计稿 @function px2 ...

  6. Python笔记【6】_函数

    #!/usr/bin/env/python #-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 ''' def:函数是一段可以重复调用的代码,通 ...

  7. Oracle Awr报告_生成

    AWR的概念 Oracle数据库是一个使用量很多的数据库,关于Oracle数据库的性能.Oracle10g以后,Oracle提供了一个性能检测的工具:AWR(Automatic Workload Re ...

  8. smarty 截取字符串

    在视图中使用smarty来截取字符串的方法:          {$array|truncate:15:"...":true}   php:控制器中 $index['content ...

  9. Java多线程(2)线程锁

    多线程访问同一个资源进行读写操作,就很容易出一些问题(比如我们常见的读者写者,生产者消费者模型)所以我们会选择对他们设置信号量或者加锁,来限制同一个时刻只有一个线程对某个对象进行操作. 多线程是一个蛮 ...

  10. HDU 6058:Kanade's sum(思维)

    题目链接 题意 给出一个n和一个k,求1~n的每个区间的第k大的总和是多少,区间长度小于k的话,贡献为0. 思路 首先有一个关系:当一个数是第k大的时候,前面有x个比它大的数,那么后面就有k-x-1个 ...