- - |
捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。 显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。 |
两种过滤器的目的是不同的。
1.捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。
2.显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。
1.捕捉过滤器
捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。
设置捕捉过滤器的步骤是:
- 选择 capture -> options。
- 填写"capture filter"栏或者点击"capture filter"按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。
- 点击开始(Start)进行捕捉。


语法: |
|
Protocol |
|
Direction |
|
Host(s) |
|
Value |
|
Logical Operations |
|
Other expression_r |
例子: |
|
tcp |
|
dst |
|
10.1.1.1 |
|
80 |
|
and |
|
tcp dst 10.2.2.2 3128 |
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 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 port 3128 and tcp port 23"与"not (tcp port 3128 and tcp port 23)"不同。
例子:
显示目的TCP端口为3128的封包。
显示来源IP地址为10.1.1.1的封包。
显示目的或来源IP地址为10.1.2.3的封包。
显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。
显示除了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,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。
注意事项:
当使用关键字作为值时,需使用反斜杠“\”。
"ether proto \ip" (与关键字"ip"相同).
这样写将会以IP协议作为目标。
"ip proto \icmp" (与关键字"icmp"相同).
这样写将会以ping工具常用的icmp作为目标。
可以在"ip"或"ether"后面使用"multicast"及"broadcast"关键字。
当您想排除广播请求时,"no broadcast"就会非常有用。
2. 显示过滤器
通常经过捕捉过滤器过滤后的数据还是很复杂。此时您可以使用显示过滤器进行更加细致的查找。
它的功能比捕捉过滤器更为强大,而且在您想修改过滤器条件时,并不需要重新捕捉一次。
语法: |
|
Protocol |
. |
String 1 |
. |
String 2 |
|
Comparison operator |
|
Value |
|
Logical Operations |
|
Other expression_r |
例子: |
|
ftp |
|
passive |
|
ip |
|
== |
|
10.2.3.4 |
|
xor |
|
icmp.type |
Protocol(协议):
您可以使用大量位于OSI模型第2至7层的协议。点击"Expression..."按钮后,您可以看到它们。
比如:IP,TCP,DNS,SSH

String1, String2 (可选项):
协议的子类。
点击相关父类旁的"》"号,然后选择其子类。

Comparison operators (比较运算符):
可以使用6种比较运算符:
英文写法: <wbr></wbr> |
C语言写法: <wbr></wbr> |
含义: |
eq <wbr></wbr> |
== <wbr></wbr> |
等于 |
ne |
!= |
不等于 |
gt |
> |
大于 |
lt |
< |
小于 |
ge |
>= |
大于等于 |
le |
<= |
小于等于 |
Logical expression_rs(逻辑运算符):
英文写法: <wbr></wbr> |
C语言写法: <wbr></wbr> |
含义: |
and |
&& |
逻辑与 |
or |
|| |
逻辑或 |
xor |
^^ |
逻辑异或 |
not |
! |
逻辑非 |
被程序员们熟知的逻辑异或是一种排除性的或。当其被用在过滤器的两个条件之间时,只有当且仅当其中的一个条件满足时,这样的结果才会被显示在屏幕上。
让我们举个例子:
"tcp.dstport 80 xor tcp.dstport 1025"
只有当目的TCP端口为80或者来源于端口1025(但又不能同时满足这两点)时,这样的封包才会被显示。
例子:
snmp || dns || icmp |
显示SNMP或DNS或ICMP封包。 |
显示来源或目的IP地址为10.1.1.1的封包。
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 |
显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;目的IP:任意
以及
来源IP:任意;目的IP:除了10.4.5.6以外任意
ip.src != 10.1.2.3 and ip.dst != 10.4.5.6 |
显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。
换句话说,显示的封包将会为:
来源IP:除了10.1.2.3以外任意;同时须满足,目的IP:除了10.4.5.6以外任意
tcp.port == 25 |
显示来源或目的TCP端口号为25的封包。 |
tcp.dstport == 25 |
显示目的TCP端口号为25的封包。 |
tcp.flags.syn == 0x02 |
显示包含TCP SYN标志的封包。 |
如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。
分析:
"Follow TCP Stream"
如果你处理TCP协议,想要查看Tcp流中的应用层数据,"Following TCP streams"功能将会很有用。如果你项查看telnet流中的密码,或者你想尝试弄明白一个数据流。或者你仅仅只需要一个显示过滤来显示某个TCP流的包。这些都可以通过Wireshark的"Following TCP streams"功能来实现。
在包列表中选择一个你感兴趣的TCP包,然后选择Wireshark工具栏菜单的"Following TCP Streams"选项(或者使用包列表鼠标右键的上下文菜单)。然后,Wireshark就会创建合适的显示过滤器,并弹出一个对话框显示TCP流的所有数据。
流的内容出现的顺序同他们在网络中出现的顺序一致。从A到B的通信标记为红色,从B到A的通信标记为蓝色。当然,如果你喜欢的话你可以从"Edit/Preferences"菜单项的"Colores"修改颜色。
非打印字符将会被显示为圆点。XXX - What about line wrapping (maximum line length) and CRNL conversions?
在捕捉过程中,TCP流不能实时更新。想得到最近的内容需要重新打开对话框。
你可以在此对话框执行如下操作:
Save As 以当前选择格式保存流数据。
Print 以当前选择格式打印流数据。
Direction 选择流的显示方向("Entire conversation", "data from A to B only" or "data from B to A only").
Filter out this stream 应用一个显示过滤,在显示中排除当前选择的TCP流。
Close 关闭当前对话框。移除对当前显示过滤的影响。
你可以用以下格式浏览流数据。
AsCII。在此视图下你可以以ASCII凡是查看数据。当然最适合基于ASCII的协议用,例如HTTP.
EBCDIC。For the big-iron freaks out there.(不知道这句是什么意思, EBCDIC 是IBM公司的字符二进制编码标准。)
HEX Dump. 允许你查看所有数据,可能会占用大量屏幕空间。适合显示二进制协议。
C Arrays. 允许你将流数据导入你自己的C语言程序。
RAW。 允许你载入原始数据到其他应用程序做进一步分析。显示类似与ASCII设置。但“save As”将会保存为二进制文件
相关推荐
实验中使用Wireshark等工具捕获和分析ARP报文,了解其结构和工作原理。 网络嗅探是通过嗅探器(如Wireshark)监听网络流量,捕获数据包的过程。实验中,学生需要掌握如何使用Wireshark来抓取HTTP等协议的数据包。在...
这个经典教程的配套课件旨在帮助学习者深入理解TCP/IP协议的各个方面,从基础概念到高级应用,逐步解析这个复杂而重要的通信协议。 首先,我们要了解TCP/IP模型的四个主要层次:应用层、传输层、网络层和链路层。这...
而详尽的TCP/IP教学文档则会引导学习者了解TCP/IP协议的工作原理,如何配置IP地址,设置端口号,建立和维护连接等。 为了快速上手,你需要了解以下几个关键点: 1. 51单片机的编程基础,包括I/O口操作、中断处理和...
在学习过程中,理解TCP/IP协议套件不仅需要理论知识,还需要实践操作,例如通过Wireshark抓包工具观察网络数据包的传输过程,或使用ping、traceroute等命令进行网络诊断。这份完整版的答案可能会涵盖这些实践环节的...
TCP/IP协议中的数据包分析与解析通常涉及网络抓包工具,如Wireshark,它能够捕获网络上的数据包并展示其详细信息,帮助网络管理员和开发者理解网络通信的过程。在分析过程中,我们可以查看每个数据包的头部信息,...
这个实验报告详细探讨了TCP/IP协议族的各个层次以及网络编程的相关实践,旨在帮助学生深入理解网络通信的原理和实现方法。以下是对五个实验的详细解读: 实验一:IP基础知识与数据包捕获 在这一实验中,学生会学习...
《高级TCP/IP编程》是一本面向中高级网络程序员的专业书籍,旨在深入探讨网络编程的各个方面。TCP/IP协议栈是互联网通信的基础,理解并熟练运用TCP/IP编程是开发高效、稳定网络应用的关键。这本书通过44个精心设计的...
8. **协议分析**:通过sock,读者可以观察TCP报文段的实际结构,包括头部字段,这对于理解TCP的工作原理非常有帮助。 9. **网络调试**:sock也常用于网络调试,例如,通过抓包工具如Wireshark配合使用,可以深入...
在Wireshark中,我们可以深入分析TCP/IP协议栈的各个层次: 1. **网络层(IP)**: 查看源和目的IP地址,确认数据包的路由。 2. **传输层(TCP)**: 观察TCP序列号、确认号、标志位(SYN、ACK、FIN等),了解连接...
在本部分(续2)中,我们将深入探讨TCP/IP的核心概念和技术,特别是TCP(传输控制协议)和IP(网际协议)的相关知识。 TCP,全称为Transport Control Protocol,是传输层的主要协议之一,负责在不同主机之间建立...
Wireshark 是一款功能强大的网络协议分析软件,通过捕捉和分析网络协议,可以帮助用户理解 TCP/IP 中的各个协议是如何工作的。下面是 Wireshark 的使用教程,旨在帮助用户快速掌握 Wireshark 的使用。 Wireshark 的...
8. **工具使用**:网络调试工具如Wireshark、tcpdump等,可以帮助我们抓取和分析网络流量,理解TCP/IP协议的实际运作。 通过对《TCP/IP详解2》的学习,读者不仅可以掌握TCP/IP协议的基本概念,还能深入了解其工作...
书中还可能涵盖网络故障排查工具,如ping、traceroute、tcpdump和Wireshark的使用,以及网络编程接口(如套接字API)的应用,帮助读者理解如何在实际开发中应用TCP/IP协议。 总的来说,《TCP/IP详解卷1:协议》是...
《TCP/IP协议详解卷2(1):实现》是一本深入探讨TCP/IP协议栈实现细节的专业书籍,旨在帮助读者理解网络通信背后的核心机制。TCP/IP协议族是互联网的基础,它定义了不同设备如何通过网络进行通信的一系列标准。本...
在TCP/IP课设中,这个模拟器可以帮助学生理解和实践网络协议的工作原理。例如,你可以用它来分析TCP连接的三次握手和四次挥手过程,或者观察UDP的无连接特性。通过查看数据包头的信息,可以学习IP地址、端口号、...
在这个14天学习计划中,我们将深入理解TCP/IP协议栈的各个层次,包括应用层、传输层、网络层和数据链路层,以及它们在实现互联网通信中的作用。 **第一天:TCP/IP概述** 了解TCP/IP的基本概念,包括其历史背景、四...
学习TCP/IP协议,除了理论知识外,还需要结合实践操作,如使用Wireshark抓包工具分析网络通信,模拟IP数据包的传输,或者搭建简单的网络环境进行实验。理解并掌握TCP/IP协议对于网络技术人员和IT从业者至关重要,能...
TCP/IP协议详解卷一:协议,很可能是对TCP/IP协议栈的全面解读,涵盖了各个层次的协议细节,包括它们的工作原理、头格式、握手过程、拥塞控制、错误处理等内容。这本书对于理解网络通信的基础,进行计算机网络考证、...
首先,我们要理解TCP/IP模型,它通常被分为四层或五层模型,包括应用层、传输层、网络层、数据链路层以及物理层(在某些模型中,网络层和数据链路层之间会插入一个网络接口层)。每一层都有其特定的功能和协议。 1....