wireshark基本使用
Wireshark 是一种开源、跨平台的网络数据包分析工具,能够嗅探和调查实时流量并检查数据包捕获 (PCAP)。它通常 被用作最好的数据包分析工具之一。
数据包过滤操作
ip过滤器
IP 过滤器帮助分析人员根据来自数据包(OSI 模型的网络层)的 IP 级别信息过滤流量。这是 Wireshark 中最常用的过滤器之一。这些过滤器过滤网络级信息,如 IP 地址、版本、生存时间、服务类型、标志和校验和值。
筛选 描述
ip 显示所有 IP 数据包。
ip.addr == 10.10.10.111 显示所有包含 IP 地址 10.10.10.111 的数据包。
ip.addr == 10.10.10.0/24 显示所有包含来自 10.10.10.0/24 子网的 IP 地址的数据包。
ip.src == 10.10.10.111 显示所有来自 10.10.10.111 的数据包
ip.dst == 10.10.10.111 显示发送到 10.10.10.111 的所有数据包
TCP和UDP过滤器
TCP过滤器可帮助分析人员根据来自数据包(OSI 模型的传输层)的协议级信息过滤流量。这些过滤器过滤传输协议级别的信息,如源端口和目标端口、序列号、确认号、窗口大小、时间戳、标志、长度和协议错误。
筛选 | 描述 | 筛选 | 表达 |
---|---|---|---|
tcp.port == 80 | 查看所有80端口的 TCP数据包 | udp.port == 53 | 显示所有端口为 53 的UDP数据包 |
tcp.srcport == 1234 | 显示来自端口 1234 的所有TCP数据包 | udp.srcport == 1234 | 显示所有来自端口 1234 的UDP数据包 |
tcp.dstport == 80 | 显示发送到端口 80 的所有TCP数据包 | udp.dstport == 5353 | 显示发送到端口 5353 的所有UDP数据包 |
应用层http|dns
应用层协议过滤器帮助分析人员根据来自数据包(OSI 模型的应用层)的应用协议层信息过滤流量。这些过滤器根据协议类型过滤特定于应用程序的信息,例如有效负载和链接数据。
筛选 | 描述 | 筛选 | 表达 |
---|---|---|---|
http | 显示所有HTTP数据包 | dns | 显示所有DNS数据包 |
http.response.code == 200 | 显示所有带有HTTP响应代码“200”的数据包 | dns.flags.response == 0 | 显示所有DNS请求 |
http.request.method == "GET" | 显示所有HTTP GET 请求 | dns.flags.response == 1 | 显示所有DNS响应 |
http.request.method == "POST" | 显示所有HTTP POST 请求 | dns.qry.type == 1 | 显示所有DNS “A”记录 |
分析 --> 显示过滤器菜单表达式 :查看更多过滤语法
高级过滤
contains
在数据包中搜索一个值。它区分大小写,并通过关注特定字段提供与“查找”选项类似的功能。
例子 查找所有“Apache”服务器。
流程 列出所有数据包的“服务器”字段包含“Apache”关键字的HTTP数据包。
用法 http.server contains "Apache"
matches
搜索正则表达式的模式。它不区分大小写,复杂的查询有一定的误差范围。
例子 查找所有 .php 和 .html 页面。
流程 列出所有 数据 包的“主机”字段匹配关键字“.php”或“.html”的HTTP数据包。
用法 http.host matches "\.(php|html)"
in
搜索特定范围/范围内的值或字段。
例子 查找所有使用端口 80、443 或 8080 的数据包。
流程 列出数据包的“端口”字段值为 80、443 或 8080 的所有TCP数据包。
用法 tcp.port in {80 443 8080}
upper
将字符串值转换为大写。
例子 查找所有“APACHE”服务器。
流程 将所有 HTTP 数据包的“服务器”字段转换为大写并列出包含“APACHE”关键字的数据包。
用法 upper(http.server) contains "APACHE"
lower
将字符串转化为小写
string
将非字符串值转化为字符串。
例子 找出所有奇数帧
流程 将所有“帧编号”字段转换为字符串值,并列出以奇数结尾的帧。
用法 string(frame.number) matches "[13579]$"
Wireshark:流量分析
nmap扫描
Nmap 是一种行业标准工具,用于映射网络、识别实时主机和发现服务。由于它是最 常用的网络扫描工具之一,安全分析师应该识别使用它创建的网络模式。
- tcp连接扫描
- syn扫描
- udp扫描
TCP——flag
标志位说明:https://www.cnblogs.com/-Lucky-/p/17213717.html
笔记 | wireshark 过滤器 |
---|---|
全局搜索 | tcp udp |
只有 SYN 标志 | tcp.flags == 2 |
SYN 标志已设置。其余位并不重要 | tcp.flags.syn == 1 |
只有 ACK 标志 | tcp.flags == 16 |
设置 ACK 标志。其余位并不重要 | tcp.flags.ack == 1 |
只有 SYN、ACK 标志 | tcp.flags == 18 |
SYN 和 ACK 已设置。其余位并不重要 | (tcp.flags.syn == 1) and (tcp.flags.ack == 1) |
只有 RST 标志 | tcp.flags == 4 |
RST 标志已设置。其余位并不重要 | tcp.flags.reset == 1 |
只有 RST、ACK 标志 | tcp.flags == 20 |
RST 和 ACK 被设置 其余位并不重要 | (tcp.flags.reset == 1) and (tcp.flags.ack == 1) |
只有 FIN 标志 | tcp.flags == 1 |
FIN 标志已设置。其余位并不重要 | tcp.flags.fin == 1 |
TCP连接扫描,三次握手
tcp端口开放
SYN -->
<-- SYN,ACK
ACK -->
SYN -->
<-- SYN, ACK
ACK -->
RST, ACK -->
tcp端口关闭
SYN -->
<-- RST, ACK
捕获 TCP连接扫描模式
tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size > 1024
SYN扫描
端口开放
SYN -->
<-- SYN,ACK
RST-->
端口关闭
SYN -->
<-- RST,ACK
捕获 TCP SYN 扫描模式
tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size <= 1024
UDP扫描, 无连接
端口开放
UDP packet -->
关口关闭
UDP packet -->
ICMP Type 3, Code 3 message. (Destination unreachable, port unreachable)
捕获 UDP扫描模式
icmp.type==3 and icmp.code==3
示例
TCP 连接扫描的总数是多少
tcp.flags.syn==1 and tcp.flags.ack==0 and tcp.window_size > 1024
有多少“UDP close port”消息?
icmp.type==3 and icmp.code==3
ARP欺骗(中间人攻击)
ARP 协议或 地址解析协议( ARP ) 是一种允许设备在网络上识别自己的技术 。地址解析协议中毒(也称为ARP欺骗或中间人 (MITM) 攻击)是一种涉及通过向默认网关发送恶意 ARP 数据包来干扰/操纵网络的攻击。最终目的是操纵“IP转MAC地址表”,嗅探目标主机的流量。
全局搜索:arp
arp请求:arp.opcode == 1
arp响应:arp.opcode == 2
arp扫描:arp.dst.hw_mac==00:00:00:00:00:00
可能的ARP欺骗检测:arp.duplicate-address-detected or arp.duplicate-address-frame
检测到可能的ARP泛洪:((arp) && (arp.opcode == 1)) && (arp.src.hw_mac == target-mac-address)
识别主机
DHCP
DHCP 协议,或 动态主机 配置协议(DHCP), 是负责管理自动IP地址和 所需 通信参数分配的技术。
全局搜索 dhcp
DHCP Request数据包包含主机名信息 dhcp.option.dhcp == 3
DHCP ACK数据包表示已接受的请求 dhcp.option.dhcp == 5
DHCP NAK数据包代表被拒绝的请求 dhcp.option.dhcp == 6
DHCP Request 选项
主机名,客户端mac地址
dhcp.option.hostname contains 'keyword'
DHCP ACK 选项
域名
dhcp.option.domain_name contains "keyword"
隧道流量
ICMP
Internet 控制消息协议 (ICMP) 旨在诊断和报告网络通信问题。它在错误报告和测试中被广泛使用。由于它是一种受信任的网络层协议,有时它被用于拒绝服务(DoS)攻击;此外,攻击者还会将其用于数据泄露和 C2 隧道活动。
全局搜索:icmp
数据包长度,目标地址,封装协议
data.len > 64 and icmp
DNS
域名系统 ( DNS ) 旨在将 IP 域地址转换/转换为 IP 地址。它也被称为互联网电话簿。由于它是 Web 服务的重要组成部分,因此被普遍使用和信任,因此经常被忽略。因此,对手将其用于数据泄露和 C2 活动。
全局搜索:dns
dns contains "dnscat"
dns.qry.name.len > 15 and !mdns
明文分析协议ftp
文件传输协议 ( FTP ) 旨在轻松传输文件,因此它侧重于简单性而非安全性。
全局搜索 ftp
x1x:信息请求响应
x2x:连接消息
x3x:身份验证消息
200标识命令成功
x1x
211:系统状态
212:目录状态
213:文件状态
ftp.response.code == 211
x2x
220:服务就绪
227:进入被动模式
228:长被动模式
229:扩展被动模式
ftp.response.code == 227
x3x
230:用户登录
231:用户注销
331:有效用户名
430:无效用户名或密码
530:没有登陆,密码无效
ftp.response.code == 230
ftp.request.command == "USER"
ftp.request.command == "PASS" 判断 FTP 请求的命令是否为 "PASS"
ftp.request.arg == "password" 判断 FTP 请求中的参数是否为 "password"
列出失败的登录尝试
ftp.response.code == 530
列出目标用户名
(ftp.response.code == 530) and (ftp.response.arg contains "username")
列出静态密码的目标
(ftp.request.command == "PASS" ) and (ftp.request.arg == "password")
明文协议分析 HTTP
超文本传输协议 ( HTTP ) 是一种基于明文的请求-响应和客户端-服务器协议。请求/提供网页是标准的网络活动类型,默认情况下,它不会被任何网络边界阻止。由于未加密和网络流量的骨干,HTTP 是流量分析中必须知道的协议之一
全局 http,http2
GET请求 http.request.method == GET
POST请求 http.request.mothod == POST
所有请求 http.request
http响应状态码
http.response.code == xxx
用户代理
http.user_agent contains "xxxx"
指向从服务器请求的资源
http.request.url contains "xxxx"
服务器 http.server contains "apache"
主机名 http.host contains "keyword"
还有一些参考:https://tryhackme.com/module/wireshark
wireshark基本使用的更多相关文章
- wireshark 相关提示
Packet size limited during capture 提示说明标记的包没有抓全,在某些操作系统中,默认只抓96个字节,tcpdump中有"-s"参数可用于 ...
- Wireshark
0. install Wireshark on Ubuntu 14 sudo apt-get install -y wireshark sudo addgroup -quiet -system wir ...
- 通过Wireshark抓包进行Cookie劫持
首先在目标A机器上运行Wireshark并开启浏览器,开启前关闭其他占用网络的软件,这里我拿51CTO.com做测试. 正常登陆51CTO用户中心,此时使用 http.cookie and http. ...
- 运维之网络安全抓包—— WireShark 和 tcpdump
------------------------------------------------本文章只解释抓包工具的捕获器和过滤器的说明,以及简单使用,应付日常而已----------------- ...
- 【转】[fix] Wireshark error: There are no interfaces on which a capture can be done. on Mac OS X
I got the following error message when trying to open a network interface for capture using Wireshar ...
- kali linux之窥看女神上网隐私(ettercap+wireshark+zenmap +dsniff)
作者:小波 http://www.cnblogs.com/xiaobo-Linux/ 无聊就玩了玩,不要干一些坏事哟~~网上也有一些文章关于kali linux的,就实战了一番.kali是用的debi ...
- Ubuntu16.04 LTS下apt安装WireShark
Ubuntu16.04 LTS下apt安装WireShark 安装与配置 首先通过apt安装WireShark: $ sudo apt install wireshark 会同时安装许多的依赖包,其中 ...
- wireshark lua脚本
1.目的:解析rssp2协议 2.如何使用wireshark lua插件 将编写的(假设为rssp2.lua)lua文本,放入wireshark 安装目录下,放哪里都行只要dofile添加了路径. ...
- 网络抓包wireshark(转)
转自 网络抓包wireshark 抓包应该是每个技术人员掌握的基础知识,无论是技术支持运维人员或者是研发,多少都会遇到要抓包的情况,用过的抓包工具有fiddle.wireshark,作为一个不是经 ...
- ubuntu下非root用户下获得使用wireshark的权限
在非root用户下不能使用wireshark用来抓包,所以需要进行以下操作: sudo groupadd wireshark sudo chgrp wireshark /usr/bin/dumpcap ...
随机推荐
- MYSQL DQL语句(基础)
MySQL引入 数据库的好处 持久化数据到本地 可以实现结构化查询,方便管理 数据库的相关概念 DB:数据库(database):存储数据的"仓库",它保存了一系列有组织的数据. ...
- 温故知新----线程之Runnable与Callable接口的本质区别
温故知新----线程之Runnable与Callable接口的本质区别 预备知识:Java中的线程对象是Thread,新建线程也只有通过创建Thread对象的实例来创建. 先说结论 1 Runnabl ...
- 深入理解 python 虚拟机:字节码灵魂——Code obejct
深入理解 python 虚拟机:字节码灵魂--Code obejct 在本篇文章当中主要给大家深入介绍在 cpython 当中非常重要的一个数据结构 code object! 在上一篇文章 深入理解 ...
- Rancher(V2.6.3)安装K8s教程
Rancher(V2.6.3)安装K8s教程 一,安装前环境准备: 1,升级Linux服务器内核 Ubuntu20.04: #查看当前内核版本 uname -rs #查看软件库中可下载的内核 sudo ...
- 源码安装slurm
一.源码安装munge 1.下载munge 下载地址:https://github.com/dun/munge/releases 2.安装编译 tar -Jxvf munge-0.5.15.tar.x ...
- python实现桌面截图功能
PIL中的ImageGrab模块 import time import numpy as np from PIL import ImageGrab img = ImageGrab.grab(bbox= ...
- [数据库/Java]数据库开发过程中产生的MySQL错误代码及其解决方案
前言 吐槽一下,均是这两天遇到的破烂事儿,搞定了也好,以后出现此类问题也就放心些了. 下列遇到的问题大都是因为MySQL从5.x版本升级到8.0.11(MySQL8.0涉及重大改版)后,跟着连带着出现 ...
- ES_ChatGPT问答
Q1:springboot项目,如何使用elasticsearch的api增删改查?查询中有哪些方式,如果模糊查询.排序查询.分页查询?分别阐述下这些查询方式的用法?最后举一个完整的例子 答: 在Sp ...
- LeeCode 二叉树问题(三)
二叉树的应用问题 LeeCode 222: 完全二叉树的节点个数 题目描述 给你一棵 完全二叉树 的根节点 root,求出该树的节点个数. 完全二叉树的定义 除最底层节点可能没填满外,其余每层节点树都 ...
- Java学习笔记02
1. 运算符和表达式 运算符 就是对常量或者变量进行操作的符号. 如:+ - * / 表达式 用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式. 如:a + b ...