• 网络协议分析工具wireshark


    目录

    1、wireshark简介

    2、关于wireshark的启动

    3、wireshark抓包基本操作

    4、wireshark窗口介绍

    5、包过滤

    6、数据分析


    1、wireshark简介

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

    2、关于wireshark的启动

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

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

    卸载时用apt-get remove wireshark并不能完全卸载
    使用apt-get remove --purge wireshark才能删除配置文件

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

    解决方法:

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

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

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


    3、wireshark抓包基本操作

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

    开始捕获数据包

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


    4、wireshark窗口介绍

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

    WireShark 主要分为这几个界面:

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

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

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

    4. Dissector Pane(16进制数据)

    5. Miscellanous(地址栏,杂项)


    5、包过滤

    5.1 捕获过滤器

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


    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 显示过滤器

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

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


    5.4 显示过滤器的语法

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

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

    • Logical Operations,逻辑运算符。

    使用示例:

    • 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三次握手的过程对数据封包进行了分析:
    参考资料:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html#start
    http://www.cnblogs.com/xuanhun/p/5714034.html

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

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

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

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

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


  • 相关阅读:
    QThread的用法:开启与退出
    QThread必须要了解的几个函数
    Ubuntu16.04LTS +Qt+boost1.66编译错误:consuming_buffers.hpp: parse error in template argument list
    安装gcc-6系列与安装boost (Ubuntu16.04LTS)
    Qt 的线程与事件循环
    Linux 平台和 Windows平台下 Unicode与UTF-8互转
    [spark] spark 特性、简介、下载
    [hadoop读书笔记] 第十五章 sqoop1.4.6小实验
    [hadoop读书笔记] 第十五章 sqoop1.4.6小实验
    [hadoop读书笔记] 第十五章 sqoop1.4.6小实验
  • 原文地址:https://www.cnblogs.com/1693wl/p/6613803.html
Copyright © 2020-2023  润新知