首页 > 其他分享 >Wireshark抓包基础教程

Wireshark抓包基础教程

时间:2023-11-13 17:36:14浏览次数:32  
标签:src 捕获 dst host 基础教程 net port 抓包 Wireshark

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抓包基础教程_IP_05

然后点击管理捕获过滤器

Wireshark抓包基础教程_封包_06

标签:src,捕获,dst,host,基础教程,net,port,抓包,Wireshark
From: https://blog.51cto.com/u_16314597/8346796

相关文章

  • 安防监控EasyCVR视频汇聚平台运维现场无法使用Linux抓包该如何解决?
    视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。监控视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音......
  • C++零基础教程(抽象类和接口)
    (文章目录)前言本篇文章来讲解抽象类和接口的概念,抽象类和接口都需要依靠我们之前讲解的虚函数来实现,那么我们就来看看如何使用虚函数来实现抽象类和接口吧。一、抽象类概念抽象类是一种不能直接实例化(即创建对象)的类,它被用作其他类的基类或接口。抽象类通过声明纯虚函数(没有......
  • 网络协议分析——实验九使用Wireshark分析TCP协议
    网络协议分析——实验九使用Wireshark分析TCP协议文章在线:https://www.cnblogs.com/rabbit-dayi/p/17826075.htmlhttps://type.dayiyi.top/index.php/archives/246/https://blog.dayi.inkhttps://cmd.dayi.ink/mXYpwNZfQXSEJWKHCoYAFg?both实验目的本实验旨在使用Wiresh......
  • windows自带工具netsh trace 抓包
     简单实例 管理员模式运行netshtracestartcapture=yesreport=disabled protocol=TCPipv4.address=192.168.0.40tracefile=d:\a.etl  停止抓包netshtracestop  -------------------------------------------------------------其它可选参数 report=e......
  • 接口自动化&抓包&代理神器-Mitmproxy代理配置详细教程
    Mitmproxy代理配置及接口加解密详细教程官方网站:EventHooks&API(mitmproxy.org)本节目录展示:文章目录Mitmproxy代理配置及接口加解密详细教程客户端下载安装证书mitmproxy代理ios设备启动服务ios设备配置代理使用web抓取代码过滤处理加解密字符替换字符串转二进制字符串转字节......
  • Cisco Packet Tracer and Wireshark
    协议时序图一、客户端:58592;服务器:4431、Src:172.29.70.74,Dst:14.119.104.189客户端生成公、私钥,将公钥放在key_share中发送给服务端。标识符:Identification:0x6a2a(27178)TransmissionControlProtocol,SrcPort:58592,DstPort:443,Seq:1,Ack:1,Len:517......
  • C# 如何连接 PostgreSQL 基础教程
    1.准备1.安装PostgreSQL数据库服务器2.安装Npgsql驱动程序,每一个解决方案都要提前添加3.C#开发环境:VisualStudio2.连接PostgreSQL的步骤2.1:导入必要的命名空间usingNpgsql;2.2:创建连接字符串stringconnString="Host=localhost;Port=5432;Username=po......
  • 《python基础教程(第二版)》学习笔记 文件和素材(第11章)
    《python基础教程(第二版)》学习笔记文件和素材(第11章)打开文件:open(filename[,mode[,buffering]])mode是读写文件的模式f=open(r'c:\somefile.txt')#默认是读模式+表示是可以读写;r读模式;w写模式;a追加模式;b二进制模式;换行符在Windows为\r\n,在Unix中为\n,Python会自动转......
  • 《python基础教程(第二版)》学习笔记 函数(第6章)
    《python基础教程(第二版)》学习笔记函数(第6章)创建函数:deffunction_name(params):blockreturnvalues记录函数:deffunction_name(params):'NOTE'#注释blockreturnvaluesfunction_name.__doc__help(function_name)return#没有返回值位置参数和关键字参数:关......
  • 《python基础教程(第二版)》学习笔记 类和对象(第7章)
    《python基础教程(第二版)》学习笔记类和对象(第7章)定义类classPerson:defsetName(self,name):self.name=namedefgetName(self):returnself.namefoo=Person()foo.setName('AAA')foo.getName()foo.namefoo.name='BBB'私有属性,名字前面加上......