
已经熟悉Wireshark,直接进行审核//
Wireshark简介
wireshark的官方下载站点:
wireshark是一种非常流行的网络数据包分析软件,具有非常强大的功能. 可以拦截各种网络数据包并显示网络数据包的详细信息.
wireshark是开源软件,可以放心使用.
使用wireshark的人们必须了解网络协议wireshark过滤mac抓包,否则他们将不理解wireshark.
出于安全原因,wireshark只能查看数据包,而不能修改数据包的内容或发送数据包.
网络管理员将使用Wireshark检查网络问题
软件测试工程师使用Wirehark捕获软件以分析他们测试的软件
套接字工程师将使用Wireshark进行调试
我听说华为和中兴的大多数工程师都会使用Wireshark.
简而言之,任何与Internet相关的内容都可以使用Wireshark.
wireshark捕获计算机上某个网卡的网络数据包. 如果计算机上有多个网卡,则需要选择一个网卡.
单击Caputre->接口..出现以下对话框. 选择正确的网卡. 然后点击“开始”按钮开始捕获数据包



WireShark主要分为这些接口
1. 显示过滤器进行过滤
2. 数据包列表窗格显示捕获的数据包,源和目标地址以及端口号. 不同的颜色代表
3. 数据包详细信息窗格,显示数据包中的字段
4. 解剖器窗格(十六进制数据)
5. 杂项(地址栏,杂项)

使用过滤非常重要. 当初学者使用wireshark时,他们将获得很多冗余信息. 在成千上万的记录中,很难找到他们需要的部分. 使您感到头晕.
过滤器将帮助我们快速查找大量数据中所需的信息.
有两种过滤器
在“过滤器”列上,填写过滤器表达式,单击“保存”按钮,然后选择一个名称. 就像“过滤器102”一样,
“过滤器”栏上还有一个“过滤器102”按钮.
两个过滤器的目的不同. 这两个过滤器使用的语法完全不同.
逻辑运算
其他表达方式
示例:
10.1.1.1
tcp dst 10.2.2.2 3128
协议:
可能的值: ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp和udp.
如果未指定协议,则默认使用所有受支持的协议.
方向:
可能的值: src,dst,src和dst,src或dst
如果未指定源或目标,则默认情况下将“ src或dst”用作关键字.
例如,“主机10.2.2.2”与“ src或dst主机10.2.2.2”相同.
主机:
可能的值: net,port,host,portrange.
如果未指定此值,则默认使用“ host”关键字.

例如,“ src 10.1.1.1”与“ src host 10.1.1.1”相同.
逻辑运算:
可能的值: 不是,和,或.
否(“否”)具有最高优先级. 或(“或”)和(“和”)具有相同的优先级,并且操作从左到右执行.
例如,
“ not tcp port 3128 and tcp port 23”与“(not tcp port 3128)和tcp port 23”相同.
“ not tcp port 3128 and tcp port 23”不同于“ not(tcp port 3128和tcp port 23)”.
语法:
协议
字符串1
字符串2
比较
操作员
值
逻辑
操作
其他
表达式
示例:
被动
10.2.3.4
icmp.type
示例:
snmp || dns || icmp
显示SNMP或DNS或ICMP数据包.
ip.addr == 10.1.1.1
显示源或目标IP地址为10.1.1.1的数据包.
ip.src! = 10.1.2.3或ip.dst! = 10.4.5.6
显示源不是10.1.2.3或目标不是10.4.5.6的数据包.
换句话说,显示的数据包将是:
来源IP: 10.1.2.3以外的任何IP;目标IP: 任意
和
来源IP: 任意;目标IP: 10.4.5.6以外的任何IP
ip.src! = 10.1.2.3和ip.dst! = 10.4.5.6
显示源不是10.1.2.3且目标IP不是10.4.5.6的数据包.
换句话说,显示的数据包将是:
来源IP: 10.1.2.3以外的任何IP;同时,目标IP: 10.4.5.6以外的任何IP
tcp.port == 25
显示源或目标TCP端口号为25的数据包.
tcp.dstport == 25
显示目标TCP端口号为25的数据包.
tcp.flags
显示包含TCP标志的数据包.
tcp.flags.syn == 0×02
显示包含TCP SYN标志的数据包.

如果过滤器的语法正确,则表达式的背景为绿色. 如果为红色,则表示错误.
表达规则
1. 协议过滤
例如,TCP,仅显示TCP协议.
2. IP过滤
例如,ip.src == 192.168.1.102表示源地址为192.168.1.102,
ip.dst == 192.168.1.102,目标地址是192.168.1.102
3. 端口过滤
tcp.port == 80,端口为80
tcp.srcport == 80,仅显示TCP端口.
4. Http模式过滤
http.request.method ==“ GET”,仅显示HTTP GET方法.
5. 逻辑运算符为AND / OR
常用过滤表达式
过滤器表达式
使用
仅查看HTTP协议记录
ip.src == 192.168.1.102或ip.dst == 192.168.1.102
源或目标地址为192.168.1.102
eth.addr == 00: 11: 22: 33: 44: 55
//过滤源或目标地址为00: 11: 22: 33: 44: 55的数据包
tcp dst端口3128
显示目标TCP端口3128的数据包.
ip src主机10.1.1.1
显示源IP地址为10.1.1.1的数据包.
显示目标或源IP地址为10.1.2.3. 的数据包.
src portrange 2000-2500
显示源为UDP或TCP且端口号在2000到2500之间的数据包.
src主机10.7.2.12,而不是dst net 10.200.0.0/16
显示源IP地址为10.7.2.12但目标地址不是10.200.0.0/16的数据包.
(src主机10.4.1.12或src网络10.6.0.0/16)和tcp dst端口范围200-10000和dst网络10.0.0.0/8
显示所有源IP为10.4.1.12或源网络为10.6.0.0/16,目标TCP端口号在200至10000之间,目标在网络10.0.0.0/8之内的数据包.
src网络192.168.0.0/24
src net 192.168.0.0掩码255.255.255.0
显示源IP地址为10.1.1.1的数据包.
注意:
将关键字用作值时wireshark过滤mac抓包,请使用反斜杠“ /”.
“ ether proto / ip”(与关键字“ ip”相同).
以这种方式编写将针对IP协议.
“ ip proto / icmp”(与关键字“ icmp”相同).
以这种方式编写将针对ping工具常用的icmp.
您可以在“ ip”或“ ether”之后使用关键字“ multicast”和“ broadcast”.
当您要排除广播请求时,“不广播”很有用.
协议:
您可以使用位于OSI模型的第2层到第7层的大量协议. 单击“表达式...”按钮后,您可以看到它们.

例如: IP,TCP,DNS,SSH
String1,String2(可选):
协议的子类.
单击父类旁边的“ +”号,然后选择其子类.
比较运算符:
您可以使用6个比较运算符:
英语写作:
C语言:
含义:
等于
不相等
大于
小于
> =
大于或等于
<=
小于或等于
逻辑表达式:
英语写作:
C语言:
含义:
&&
逻辑与
逻辑或
逻辑异或
逻辑非
http.request.uri匹配“ .gif $”
请注意不同之处: http.request.uri包含“ .gif $”,与此不同,包含字符串“ .gif $”(5个字节). 匹配HTTP请求URI中包含“ .gif $”字符串的HTTP请求数据包(此处$是字符,而不是终止符)
过滤对jpg,png和zip文件的网页请求(基于常规通配符,结合逻辑和,或,和括号()模式,进行全面过滤. )
①只需要http包; ②过滤出jpg; ③滤除png; ④过滤出拉链
http.request和! (((http.request.full_uri匹配“ * \. jpg. *”)或(http.request.full_uri匹配“ * \. png. *”)或(http.request.full_uri匹配“ * \. zip. *” ))
搜索MAC地址的前3个字节为0x001e4f的数据包.
eth.addr [0: 3] == 00: 1e: 4f
搜索按条件过滤udp的数据段有效负载(数字8表示udp头有8个字节,数据部分从第9个字节udp [8: ]开始)
udp [8] == 14(14是十六进制0x14)与有效负载0x14的第一个字节匹配的UDP数据包
udp [8: 2] == 14:05您可以udp [8: 2] == 1405,并且仅支持连续2个字节. 您必须使用冒号三个以上: 分隔以表示十六进制. (相当于udp [8] == 14和udp [9] == 05,1405为0x1405)
udp [8: 3] == 22:00: f7,但不是udp [8: 3] == 2200f7
udp [8: 4] == 00: 04: 00: 2a,与有效负载0x0004002a的前4个字节匹配
并且udp包含7c: 7c: 7d: 7d匹配有效载荷中包含0x7c7c7d7d的UDP数据包.
udp [8: 4]匹配“ \\ x14 \\ x05 \\ x07 \\ x18”
udp [8: ]匹配“ ^ \\ x14 \\ x05 \\ x07 \\ x18 \\ x14”
搜索tcp的数据段有效载荷以进行过滤(数字20表示tcp标头有20个字节,而数据部分从第21个字节tcp [20: ]开始)
tcp [20: ]匹配“ ^ GET [-〜] * HTTP / 1.1 \\ x0d \\ x0a”
与http相同,匹配“ ^ GET [-〜] * HTTP / 1.1 \\ x0d \\ x0a”
tcp [20: ]匹配“ ^ GET(. *?)HTTP / 1.1 \\ x0d \\ x0a”

tcp [20: ]匹配“ ^ GET(. *?)HTTP / 1.1 \\ x0d \\ x0a [\\ x00-\\ xff] *主机: (. *?)pplive(. *?)\ \ x0d \\ x0a“
tcp [20: ]匹配“ ^ GET(. *?)HTTP / 1.1 \\ x0d \\ x0a [\\ x00-\\ xff] *主机: ”
tcp [20: ]匹配“ ^ POST / HTTP / 1.1 \\ x0d \\ x0a [\\ x00-\\ xff] * \\ x0d \\ x0aConnection: Keep-Alive \\ x0d \\ x0a \\ x0d \\ x0a“
检测SMB标头的smb标记,并指示该smb标记与TCP标头的第24个字节匹配.
tcp [24: 4] == ff: 53: 4d: 42
检测SMB标头的smb标记. tcp的数据包含十六进制ff: 53: 4d: 42. 从tcp头中搜索此数据.
tcp包含ff: 53: 4d: 42
tcp匹配“ \\ xff \\ x53 \\ x4d \\ x42”
检测tcp包含十六进制的01: bd,然后从tcp标头中搜索此数据.
tcp匹配“ \\ x01 \\ xbd”
检测MS08067的RPC请求路径
tcp [179: 13] == 00: 5c: 00: 2e: 00: 2e: 00: 5c: 00: 2e: 00: 2e: 00
\ .. \ ..
数据包列表面板显示编号,时间戳,源地址,目的地址,协议,长度和数据包信息. 您会看到不同的协议以不同的颜色显示.
您还可以修改这些显示颜色规则,查看->着色规则.

此面板是我们最重要的面板. 它用于查看协议中的每个字段.
每行信息都是
框架: 物理层的数据框架概述
EthernetII: 数据链路层以太网帧头信息
Internet协议版本4: Internet层IP数据包标头信息
传输控制协议: 传输层T的数据段的标头,这里是TCP
超文本传输协议: 在应用程序层的信息,这里是HTTP协议

您可以从下图看到wireshark捕获的TCP数据包中的每个字段.

看到这一点,我基本上对Wireshak有了初步的了解. 现在我们来看一个TCP三向握手的示例.

我看过很多照片,这次我们实际上是使用Wireshark分析了三向握手过程.
打开wireshark,打开浏览器输入
在wirehark中输入http过滤,然后选择GET / tankxiao HTTP / 1.1的记录,右键单击并单击“关注TCP流”,
这样做的目的是获取与浏览器打开网站有关的数据包,您将获得以下图片

您可以看到Wireshk截获了三向握手的三个数据包. 第四个数据包是HTTP,这表明HTTP确实使用TCP建立了连接.
第一个握手包
客户端发送带有标志SYN和序号为0的TCP,这表明客户端请求建立连接. 如下图所示

第二次握手的数据包
服务器发送回带有标志SYN和ACK的确认数据包. 将确认号设置为客户的I S N加1,即0 +1 = 1,如下图所示.

第三次握手的数据包
客户端再次发送确认包(ACK),其中SYN标志位为0,ACK标志位为1. 服务器发送的ACK的序号字段为+1,放置在确定字段中并发送到另一方,并放置在数据段中. 写下ISN的+1,如下所示:

只需通过TCP三向握手并建立连接
转载自文章“ Wireshark教程和过滤语法摘要-流泪历史的融合”,
请注明出处:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-157744-1.html
以乱放屁罪判处3年有期徒刑
没有发财的