Wireshark抓包基础教程
  7BPBXg9HtzBk 2023年11月19日 12 0

Wireshark抓包基础教程

[TOC]

OSI七层模型



OSI七层模型


层 级

含义

常用协议

1

物理层

第一层中有很多技术——从物理网络设备、布线到电缆如何连接到设备之间的一切。另外,如果我们不需要电缆,那么信号的类型和传输方式是什么(例如,无线宽带)包括:节点(设备)和网络硬件设备接口机制功能和程序逻辑电缆协议和规范电缆类型信号类型信号传输方法(可能是有线的或无线的)第一层的数据单位是比特(bit)**

物理线路、光纤、无线电

2

数据链路层

它定义了数据的传输格式、可以在节点间流动的数据量大小、数据流动可以持续的时长,以及在流中检测到错误时应采取的措施。含义: 线路规划。 谁应该交流多久?节点传输信息的时间应该持续多久? 流量控制。 应该传输的数据量是多少? 错误控制-检测和校正。 从电尖峰脉冲到卑鄙的连接器,所有的数据传输方法都有可能出错。一旦第二层的技术告知网络管理员有关第二层或第一层的问题,系统管理员就能为后续几层纠正那些错误。第二层主要关心的是错误检测,而不是错误校正 第二层的数据单元是***(frame)***

以太网、令牌环、PPP、PPTP、L2TP、ARP、ATMP

3

网络层

第三层是 网络层。 就是在这里,我们通过路由器在网络间或跨网发送信息。不仅仅是节点到节点的通信,我们现在还可以进行网络到网络的通信了。路由器是第三层的主力——它们是在第三层中必不可少。路由器跨越多个网络移动数据包;路由器将所有的地址和路由信息都保存在路由表中。第三层的数据单元是 数据包(data packet)

IP、ICMP、RIP、IGMP、OSPF

4

传输层

第四层中最有名的两个协议是传输控制协议(TCP,Transmission Control Protocol)和用户数据报协议(UDP,User Datagram Protocol)。TCP 是一个面向连接的协议,优先保证的是数据的质量而不是速度。UDP 是一个无连接的协议,优先保证速度而不是数据的质量。UDP 不要求进行握手,这也正是它被称为无连接的原因。

TCP、UDP

5

会话层

负责建立、维持和终止会话。会话建立在两个网络应用之间,是双方商定好的连接。 客户端与服务器模型:请求信息的应用被称为客户端,拥有被请求信息的应用被称为服务器。 请求与响应模型:在建立会话的过程和会话期间,不断有来回的信息请求,还有包含被请求信息的响应或者是“嘿,我没有你要的东西”。第五层中协议的例子有网络基本输入输出系统(NetBIOS,Network Basic Input Output System)和**远程过程调用协议(RPC,Remote Procedure Call Protocol)**等等。

SSL、TLS、DAP、LDAP

6

表示层

第六层是 表示层,负责数据的格式,比如字符编码与转换,以及数据加密。第六层确保第七层中的用户程序可以成功地消费数据,当然还有最终数据的展示。加密:SSL 或 TLS 加密协议位于第六层。这些加密协议为网络上的节点提供身份认证和数据加密功能,帮助确保传输的数据抵御恶意用户的

功击。TLS 是 SSL 继任者。

LPP、NBSSP

7

应用层

这一层最终负责支持用户程序使用的服务。应用程序包括安装在操作系统中的软件程序,比如因特网浏览器(例如 Firefox)或文字处理程序(例如 Microsoft Word)。应用程序可以在后台执行专门的网络功能,也可以要求第七层中专门的服务。这一层中运行的协议包括文件传输协议FTP,File Transfer Protocol)、安全壳协议SSH,Secure Shell)、简单邮件传输协议SMTP,Simple Mail Transfer Protocol)、因特网消息访问协议IMAP,Internet Message Access Protocol)、域名服务DNS,Domain Name Service)和超文本传输协议HTTP,Hypertext Transfer Protocol)。

HTTP、FTP、SMTP、POP3、TELNET、NNTP、IMAP4、FINGER

TCP/UDP三次握手、四次挥手详解

三次握手

SYN:Synchronization(同步)

ACK:Acknowledgement(确认)

SYN+Ack(确认同步)


四次挥手

Wireshark抓包基础教程_封包

过滤器的区别

捕捉过滤器(CaptureFileters):用于决定将什么样的信息记录在捕捉结果当中,在捕捉前设置

显示过滤器(DisplayFilters):在捕捉结果当中进行详细查找,他们可以在得到捕获的结果后随意修改

两种过滤器的目的是不同的

捕获过滤器语法:Protocol Direction Host(s) Value Loical Opreations Other experssion

显示过滤器

Protocol(协议)
可能的值为:ether;fddi;ip;arp;rarp;decnet;lat;sca;moprc;mkpdl;tcp and udp
//如果没有特别指明是什么协议,则默认支持所有的协议
Direction(方向)
可能的值为:src;dst;src and dst;src or dst
//如果没有特别指定来源和目的地,则默认使用“src or dst”
例:"host 10.2.2.2"和"src or dst host 10.2.2.2"是一样的
Host(s)
可能的值: net;port;host;portrange
//如果没有指定此值,则默认使用"Host"关键字
例:"src 10.1.1.1"和"src host 10.1.1.1"相同
Logical Operations(逻辑运算)
可能的值: not; and; or
否("not")具有最高的优先级。或("or")和与("and")具有相同的优先级,运算时从左至右进行
例:
"not tcp port 3128 and tcp port 23"与"(not tcp port 3128) and tcp port 23"相同
"not tcp prot 3128 and tcp port 23"与"not (tcp port 3128 and tcp port 23)"不同
实战演练

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的封包

ether host e0-05-c5-44-b1-3c

// 捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包

src portrange 2000-2500

// 捕捉来源为UDP或者TCP,并且端口在2000-2500范围内的封包
// portrange简称是port range(端口范围)

not imcp

// 显示除了imcp以外的所有封包

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全称Source 意思是源,src IP:源地址
dst = destination 意思是目的,dst IP:目的IP

(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,,目的地TCP端口号在200至10000之间,并且目的地位于网络10.0.0.0/8内的所有封包

基于类型过滤

Wireshark可以基于类型进行捕获过滤。其中可能使用的类型有主机host网段net端口port端口范围portrange特殊类型

  1. 主机host

语法格式: host host

解析:第一个host表示过滤器类型为host:第二个host表示主机地址,可以是ipv4或Ipv6地址。

例:捕获主机192.168.1.10 的数据包。

host 192.168.1.10

  1. 网段net net用来指定捕获那个网段的数据包,其中网络类型的过滤器有三种形式。分别是: net net net mask net CIDR
  • net net

net 192.168.1.0 //对应掩码 255.255.255.255 net 192.168.1 //对应掩码 255.255.255.0 net 192.168 //对应掩码 255.255.0.0 net 192 //对应掩码255.0.0.0

  • net mask形式

net 192.168.1.0 mask 255.255.255.0

  • net CIDR形式

net 192.168.1.0/24

  1. 端口port

语法格式: port port

例: port 80

  1. 端口范围

语法:portrange port1-port2

例: portrange 1-100

  1. 特殊类型

gateway host

基于传输方向的过滤

1. 源src 可以在host,net,port,portrange类型前面添加src;

src host host //仅捕获地址为指定主机的数据包 src net net //仅捕获源地址为指定网段的数据包 src port port //仅捕获源端口为指定端口的数据包 src portrange port1-port2 //仅捕获端口范围为指定端口范围的数据包

2. 目标dst

dst host host // 仅捕获地址为指定主机的数据包 dst net net //仅捕获源地址为指定网段的数据包 dst port port //仅捕获源端口为指定端口的数据包 dst portrange port1-port2 //仅捕获端口范围为指定端口范围的数据包

3. 源或者目标

src or dst host src or dst net src or dst port src or dst portrange port1-port2

4. 源和目标

src and dst host src and dst net src and dst port src and dst portrange port1-port2

5. 特殊方向 除了上述还有两种特殊方向捕获过滤器,分别是:

广播:broadcast多播:multicast

ether broadcast //捕获以太网广播流量 ip broadcast //捕获ip广播流量 ether multicast //捕获哦以太网多播流量

广播和多播的区别

实例:捕获IPV4多播数据包

Wireshark抓包基础教程_数据_02

Wireshark抓包基础教程_封包_03

基于协议过滤

1. 协议 支持的协议过滤器

这些可以搭配前面所讲的过滤方式达到更加巧妙的过滤方式

例子:过滤源主机为192.168.1.100并且为tcp协议端口80的数据

Wireshark抓包基础教程_数据_04

基于数据过滤

1. 长度过滤 可以使用 less ,greater关键字

less 12 也可写成 len <=12 greater 12 也可写成 len>=12

2. 基于内容过滤

语法格式: proto[expr:size] relop express

参数解析:

  • proto:支持的协议,有ether,fddi,tr,wlan,ppp,slip,link,ip,arp,rarp,tcp,udp,icmp,ip6或radio
  • expr :指定协议的偏移地址
  • size:指定数据长度其中,单位bit
  • relop:指定使用的运算符,关系运算符有,>,<,>=,<=.=,!=,二进制运算符有,+,-,*,/,%,&,|,^,<<,>>

例如:捕获所有ipv4地址包,

ip[0] & 0xf !=5

使用多个捕获过滤器

通过结合逻辑运算符可以同时使用多个捕获过滤器。

有: not (!) ,and(&&),or(||) ,

例如:捕获主机192.168.1.100,而且tcp端口为80的数据包

host 192.168.1.100 and tcp port 80

注意: not(!) 具有最高优先级,and(&&)和 or(||)优先级相等。

使用预置表达式

Wireshark抓包基础教程_封包_05

然后点击管理捕获过滤器

Wireshark抓包基础教程_IP_06

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

7BPBXg9HtzBk