Wireshark:网络数据包实时捕捉分析

1、Wireshark简介
       (1)Wireshark源代码下载:http://www.wireshark.org/download.html里面的Stable Release里面的Source Code下载(不能直接打开网址,建议安装一个“网桥代理大师”),并且存在提供多个版本的源代码,可供选择进行下载。
       (2)Wireshark源代码分析:CSDN博客地址http://blog.csdn.net/zx824/article/details/7207713
       (3)Wireshark过滤规则:CSDN博客地址http://blog.csdn.net/zx824/article/details/6756711

         网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。

应用的举例:

·网络管理员用来解决网络问题

·网络安全工程师用来检测安全隐患

·开发人员用来测试协议执行情况

·用来学习网络协议

特性

·支持UNIX和Windows平台 

·在接口实时捕捉包

·能详细显示包的详细协议信息 

·可以打开/保存捕捉的包

·可以导入导出其他捕捉程序支持的包数据格式

·可以通过多种方式过滤包

·多种方式查找包

·通过过滤以多种色彩显示包

·创建多种统计分析

·…还有许多

包列表面板:

 Wireshark:网络数据包实时捕捉分析_第1张图片

      列表中的每行显示捕捉文件的一个包。如果您选择其中一行,该包得更多情况会显示在"Packet Detail/包详情""Packet Byte/包字节"面板

      在分析(解剖)包时,Wireshark会将协议信息放到各个列。因为高层协议通常会覆盖底层协议,您通常在包列表面板看到的都是每个包的最高层协议描述。

       例如:让我们看看一个包括TCP,IP,和一个以太网包。在以太网(链路层)包中解析的数据(比如以太网地址),在IP分析中会覆盖为它自己的内容(比如IP地址),在TCP分析中会覆盖IP信息。

       包列表面板有很多列可供选择。需要显示哪些列可以在首选项中进行设置。

默认的列如下

·No. 包的编号,编号不会发生改变,即使进行了过滤也同样如此

·Time 包的时间戳。包时间戳的格式可以自行设置

·Source 显示包的源地址。

·Destination 显示包的目标地址。

·Protocal 显示包的协议类型的简写

  Info 包内容的附加信息

包详情"面板显示当前包(在包列表面板被选中的包)的详情列表。

图 3.14. "Packet Details/包详情"面板

Wireshark:网络数据包实时捕捉分析_第2张图片 

 该面板显示包列表面板选中包的协议及协议字段,协议及字段以树状方式组织。

·衍生字段:Wireshark会将自己生成附加协议字段加上括号。衍生字段是通过该包的相关的其他包结合生成的。例如:Wireshark 在对TCP流应答序列进行分析时。将会在TCP协议中添加[SEQ/ACK analysis]字段

包字节 面板以16进制转储方式显示当前选择包的数据

图 3.15. Packet Byte/包字节面板

Wireshark:网络数据包实时捕捉分析_第3张图片 

通常在16进制转储形式中,左侧显示包数据偏移量,中间栏以16进制表示,右侧显示为对应的ASCII字符

根据包数据的不同,有时候包字节面板可能会有多个页面,

 

2、捕捉时过滤

捕捉来自特定主机的telnet协议

tcp port 23 and host 10.0.0.5

(1)[src|dst] host <host> 

此基本单元允许你过滤主机ip地址或名称。你可以优先指定src|dst关键词来指定你关注的是源地址还是目标地址。如果未指定,则指定的地址出现在源地址或目标地址中的包会被抓取。

(2)ether [src|dst] host <ehost> 

此单元允许你过滤主机以太网地址。你可以优先指定关键词src|dst在关键词ether和host之间,来确定你关注的是源地址还是目标地址。如果未指定,同上。

(3)gateway host<host> 

过滤通过指定host作为网关的包。这就是指那些以太网源地址或目标地址是host,但源ip地址和目标ip地址都不是host的包

(4)[src|dst] net <net> [{mask<mask>}|{len <len>}] 

通过网络号进行过滤。你可以选择优先指定src|dst来确定你感兴趣的是源网络还是目标网络。如果两个都没指定。指定网络出现在源还是目标网络的都会被选择。另外,你可以选择子网掩码或者CIDR(无类别域形式)。

(5)[tcp|udp] [src|dst] port <port] 

过滤tcp,udp及端口号。可以使用src|dst和tcp|udp关键词来确定来自源还是目标,tcp协议还是udp协议。tcp|udp必须出现在src|dst之前。

(6)less|greater <length> 

选择长度符合要求的包。(大于等于或小于等于)

(7)ip|ether proto <protocol> 

选择有指定的协议在以太网层或是ip层的包

(8)ether|ip broadcast|multicast 

选择以太网/ip层的广播或多播

(9)<expr> relop <expr> 

创建一个复杂过滤表达式,来选择包的字节或字节范围符合要求的包。

 

        使用分离的窗口浏览单独的数据包 ,想要这样做,你只需要在选中包列表面版中您感兴趣的包,菜单 Display->Show Packet in New Windows 。它可以让你很轻松地比较两个或多个包。

       有数据传输的图,使用Wireshark菜单中的Statistics ->Flow Graph… 

 


3、Follow TCP Stream"

如果你处理TCP协议,想要查看Tcp流中的应用层数据,"Following TCP streams"功能将会很有用。如果你项查看telnet流中的密码,或者你想尝试弄明白一个数据流。或者你仅仅只需要一个显示过滤来显示某个TCP流的包。这些都可以通过Wireshark的"Following TCP streams"功能来实现。

在包列表中选择一个你感兴趣的TCP包,然后选择Wireshark工具栏菜单的"Following TCP Streams"选项(或者使用包列表鼠标右键的上下文菜单)。然后,Wireshark就会创建合适的显示过滤器,并弹出一个对话框显示TCP流的所有数据。

Follow TCP Stream"对话框

Wireshark:网络数据包实时捕捉分析_第4张图片  

流的内容出现的顺序同他们在网络中出现的顺序一致。从A到B的通信标记为红色,从B到A的通信标记为蓝色。当然,如果你喜欢的话你可以从"Edit/Preferences"菜单项的"Colores"修改颜色。

非打印字符将会被显示为圆点。

4、数据简单分析

Windows远程桌面连接

Splashtop

TCPTPKT两种协议(TPKT:应用程数据传输协议,用来传输应用层数据负载。

RDP(Remote Desktop Protocol)使用TPKT协议传输数据)

完全使用TCP协议

端到端之间不存在TLSv1TLSv1只是存在于本地电脑和服务器之间

端到端之间不存在TLSv1TLSv1只是存在于本地电脑和服务器之间

当不操作远程桌面时,几乎没什么数据传输

持续性数据传输

规律性,一次TCP,两次TPKT

且较为紧凑

不规律、数据传输紧凑和稀疏混合存在,但是相比RDP而言,传输次数较少

声音正常播放

RDP协议中有“声音回放模块”,专门的音频传输模拟通道

声音无法正常传输,虚拟桌面显示“未安装任何音频输出设备”。

 

Splashtop Remote

  作为远程控制,采用屏幕像素编码技术,通过无线Wifi、有线网络或其他网络协议,将数据与信号传送到接收端,接收端设备进行屏幕像素解码。



 

 

备注:RDP协议提供声音回放功能。声音数据通过单独的虚拟通道传送,在初始连接时需要申请声音回放模式,当服务器接受声音回放模式后,应申请相应的虚拟通道以传送声音。

    为在本地播放声音,服务器会对本地的声卡设置情况和状态进行询问,当得到合适的答复后,服务器才确认声音数据能够正常回放。关于声卡的确认在终端登录前完成。

    声音数据是以wave格式传送过来的,当终端在使用过程中有声音回放请求时,服务器便将声音数据以wave格式映射到网络连接中,在客户端通过声音虚拟通道正确分离声音数据后,将其直接输出到声卡,即可实现声音回放。对声卡的设置,声音数据的属性调整等都通过网络映射到本地,需要终端程序能够正确的分离、响应。

 

 


你可能感兴趣的:(wireshark)