博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络协议分析工具wireshark
阅读量:5151 次
发布时间:2019-06-13

本文共 2642 字,大约阅读时间需要 8 分钟。

目录

1、

2、

3、

4、

5、

  • 5.1
  • 5.2
  • 5.3
  • 5.4

6、

1、wireshark简介

  • Wireshark 是当今世界上被应用最广泛的网络协议分析工具。用户通常使用Wireshark来学习网络协议,分析网络问题,检测攻击和木马等。
  • 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。
  • wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容
  • 处理HTTP,HTTPS用Fiddler,其他协议比如TCP,UDP就用wireshark

2、关于wireshark的启动

由于这个周末还算比较空闲,所以准备单列一个博客写一下wireshark的使用。下午悠闲地打开电脑,万万没想到...

1115762-20170325163314221-1996189126.png

百度了一下可能是版本的问题,卸载重装之后可以打开wireshark了

1115762-20170325165446736-98020774.png

卸载时用apt-get remove wireshark并不能完全卸载

使用apt-get remove --purge wireshark才能删除配置文件

进去之后由于Kali默认是root账号,会引发Lua加载错误,如下:

1115762-20170325171123799-287417528.png

解决方法:

  • 修改/usr/share/wireshark/init.lua

  • 将倒数第二行:dofile(DATA_DIR.."console.lua")

  • 改为--dofile(DATA_DIR.."console.lua")

3、wireshark抓包基本操作

点击捕获选项可以选择要对监听的网卡和数据包捕获进行配置

1115762-20170325172043377-685934605.png

开始捕获数据包

1115762-20170325182545002-1622377026.png

在“视图”->“对话着色”选项中可以修改着色规则

1115762-20170325183232486-1314755300.png

4、wireshark窗口介绍

这里的示意图是旧版的wireshark窗口的介绍,但功能布局与现在使用的版本基本一致,这里借来引用

1115762-20170325184552283-173002020.png

WireShark 主要分为这几个界面:

  1. Display Filter(显示过滤器), 用于过滤

  2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表

  3. Packet Details Pane(封包详细信息), 显示封包中的字段

  4. Dissector Pane(16进制数据)

  5. Miscellanous(地址栏,杂项)

5、包过滤

5.1 捕获过滤器

捕捉过滤器是用来配置应该捕获什么样的数据包,在启动数据包捕捉之前就应该配置好。打开主界面“捕获”—>“捕获过滤器”可以对捕获过滤器进行设置

1115762-20170325185503643-2045336748.png

5.2 捕获过滤器的语法

Protocol(协议)     Direction(方向)     Host(s)     Logical Operations(逻辑运算)

  • Protocol(协议):

    可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
    如果没有特别指明是什么协议,则默认使用所有支持的协议。

  • Direction(方向):

    可能的值: src, dst, src and dst, src or dst
    如果没有特别指明来源或目的地,则默认使用 "src or dst" 作为关键字

  • Host(s):

    可能的值: net, port, host, portrange.
    如果没有指定此值,则默认使用"host"关键字。

  • Logical Operations(逻辑运算):

    可能的值:not, and, or.
    否("not")具有最高的优先级。或("or")和与("and")具有相同的优先级,运算时从左至右进行。

使用示例:

  • tcp dst port 3128

    显示目的TCP端口为3128的封包。

  • ip src host 10.1.1.1

    显示来源IP地址为10.1.1.1的封包。

  • host 10.1.2.3

    显示目的或来源IP地址为10.1.2.3的封包。

  • src portrange 2000-2500

    显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。

  • not imcp

    显示除了icmp以外的所有封包。(icmp通常被ping工具使用)

  • src host 10.7.2.12 and not dst net 10.200.0.0/16

    显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。

  • (src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8

    显示来源IP地址为10.4.1.12或10.6.0.0/16,且目的端口号在200-1000,目的地址是10.0.0.0/8的TCP封包。

5.3 显示过滤器

显示过滤器用来过滤已经捕获的数据包。在数据包列表的上方,有一个显示过滤器输入框,可以直接输入过滤表达式。

点击输入框右侧按钮可以添加显示过滤器

1115762-20170325200010549-916989221.png

点击输入框左侧按钮可以管理显示过滤器

1115762-20170325195119736-141357397.png

5.4 显示过滤器的语法

Protocol.String1.String2     Comparison operators     Value     Logical Operations     Other Expression

  • Protocol,协议字段。从OSI7层模型的2到7层协议都支持。
  • String1, String2 (可选项),协议的子类。
  • Comparison operators,比较运算符。

1115762-20170325201857174-58958559.png

  • Logical Operations,逻辑运算符。

1115762-20170325201916268-501507516.png

使用示例:

  • ip.src != 10.1.2.3 or ip.dst != 10.4.5.6

    显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。

  • tcp.flags.syn == 0x02

    显示包含TCP SYN标志的封包。

6、数据分析

数据的分析需要对协议的工作原理和过程十分熟悉

下面两篇博客通过对TCP三次握手的过程对数据封包进行了分析:
参考资料:

下面演示用浏览器打开天涯网站时捕获数据包的情况

1115762-20170326221023330-189947355.png

设置过滤器只显示源IP地址为本机的http协议数据包

1115762-20170326221234705-2049215445.png

从中可以发现天涯网站的IP地址

1115762-20170326221458486-397084012.png

也可以查看TCP三次握手的过程

1115762-20170326222637502-796962964.png

wireshark很强大,此部分内容以后有时间会继续补充

转载于:https://www.cnblogs.com/1693wl/p/6613803.html

你可能感兴趣的文章
Java集合---ConcurrentHashMap原理分析
查看>>
ElasticSearch客户端注解使用介绍
查看>>
矢量空间存储、栅格空间存储 分布式存储的区别
查看>>
JSON.stringify实战用法
查看>>
#ifndef详解
查看>>
C++11 —— 解包 tuple 参数列表
查看>>
结对编程收获
查看>>
最长回文子串(Manacher)
查看>>
古罗马子串加密
查看>>
TensorBoard:可视化学习
查看>>
图文说明Win10上在VitualBox安装Ubuntu
查看>>
C#终于支持可选参数了!
查看>>
帮朋友写的一个自定义选择框
查看>>
CODE[VS] 2221 搬雕像 ——2011年台湾高级中学咨询学科能力竞赛
查看>>
团队冲刺第七天
查看>>
Chrome中的类似Firebug的开发者工具
查看>>
数据结构与算法之--简单排序:冒泡、选择和插入
查看>>
使用dispatch_once实现单例
查看>>
python各模块组合实例
查看>>
【LOJ】#2128. 「HAOI2015」数字串拆分
查看>>