数据包及流量分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
出现这种情况最有可能就是winpcap没有安装 (http://www.winpcap.org/install/bin/WinPcap_4_1_1.exe)
2. 捕获不到数据包
没有设置任何捕获过滤器,却始终捕获不到包,这时可能是没有选择正 确的网卡有关,看下图图1红色框部分,那不是真实存在的网卡,在 图2中选择系统中真实存在的网卡即可 。
1. TCP连接的建立
建立一个 tcp连接, 需要建立三次握手, 看左图:
client第一次发送一 个带有SYN标志位 的包到达 server,server回应 SYN,ACK标志位, 最后client回应ACK, 连接建立完成。
2. TCP数据的传输
Tcp将应用进程交付给自己的数据分成很多小数据 段,每个数据段的最大值是MSS(Maxitum Segment Size,最大传输大小的缩写),这个值可 在带有标志位SYN的包中看到。
3. 设置了捕获过滤器无法抓包
看下图,填好捕获条件后,出现错误,无法抓 包, 原因是由于捕获过滤器语法错误.
应该改成udp port 53或udp 等。
4、无法使用显示过滤器
输入了显示过滤器,点Apply,没有反应,出现提示框,原因是显示过滤书写 有误,addr后面少了一个等于号,168后面多了个点,如果书写正确的话,显 示过滤栏处不会是红色,而是绿色,看右下角小图:
当然FIN和ACK也可以在一个包一同发送 过去。
4. TCP状态变迁图
左边图是从进程 开始closed,到 监听,到完成一 系列的连接后, client 和server中 tcp的状态变化图。
二、HTTP协议简介
超文件传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网络传输协议。
简单说就是将网站名字翻译成ip地址的。 平时的网站都是www.sina.com www.zxfirewall.com 这些名字,但网络连接这些
网站时,是以ip地址来连接,如果让你访问www.sina.com.cn 记住要用 61.172.201.194这个ip去登陆,你记得住吗,网站那么多,你能记得住几个ip地址? 这就是每台上网的电脑中要设置dns服务器地址的原因。 当你在浏览器输入www.zxfirewall.com,浏览器就会向你电脑中设置的dns地址, 发送一个dns请求,请求的内容是”www.zxfirewall.com的ip是多少”,dns服务 器收到后,会将对应的ip地址回应给浏览器,浏览器才会向这个ip地址发送tcp 的 连接。
UDP是无连接的,所以不存在建立三次握手,客 户端只要发送一个udp数据到服务器,数据部 分带有请求部分,服务器接受到了就会且个应 答。
UDP是个不可靠的连接,目前网络还用它的原 因是: 它有时传输的更快,简单。
DNS 域名解析就是一个例子,视频聊天室传输 视频也是。
四、DNS协议简介
ethereal是一款基于tcpdump的开源GUI数据包嗅探分析软件, 支持UNIX、GNU/Linux、Windows、类BSD等操作系统。
软件界面
捕获过滤器
含义: 就对要获取的数据定义一个捕获条
件,因为你可能只对tcp数据包感兴趣, 所以没有必要将其它协议的数据捕获下 来。
捕获过滤器简单语法
HTTP协议传输过程
Client首先和Server建立tcp连接,然后 client发送请求,server回应请求; client 再发送请求,server再回应请求;如此重 复的下去,直到client或server 主动终止 连接。
三、UDP协议简介
UDP 是User Datagram Protocol的简称, 中文 名是用户数据包协议,是 OSI 参考模型中一种 无连接的传输层协议,提供面向事务的简单不 可靠信息传送服务。
显示过滤器
含义:
如果像之前已经只捕获了tcp和udp的数 据,但可能还需要只看tcp数据中的某部分 数据,如只看192.168.1.2这个ip的数据,这 里就要用到显示过滤器了。它是从已经捕获 到的数据中再次过滤,将过滤后的数据单独 显示出来。
显示过滤器简单语法
如果只想看tcp 80端口的数据,填 tcp.port==80
HTTP协议目前有两个版本1.0和1.1,大部分浏 览器默认使用HTTP 1.1。
它是一种应用层协议,在TCP协议之上。
如:当打开 www.zxfirewall.com时,浏览器发 送一个带有HTTP协议头的包到达sina服务器, 服务器回应的数据都带有HTTP头数据,再加 上真正的网站数据。但它还是要通过TCP帮它 传输自身的,HTTP头加上HTTP数据,在TCP 那儿看来,还是TCP的数据部分。(后在数据包 分析有讲)
如果dns解析不出ip地址,那你的网站通过域名也就没法打开了。
第二章 协议分析仪
本章主要讲解协议分析仪(数据包分析软 件)的基本使用。
下面以ethereal软件为例:
一、Ethereal使用
Ethereal简介:
下载地 址:(http://www.ethereal.com/distribution/win32/ethereal-setup0.99.0.exe)
DNS是域名系统(DomainNameSystem)的缩写 ,该系统用于命名组织到域层次结 构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域 名都对应一个惟一的IP地址,在 Internet上域名与IP地址之间是一一对应的,DNS 就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友 好的名称查找计算机和服务。DNS是因特网的一项核心服务,它作为可以将域名和 IP地址相互映射的一个分布式数据库。
第三章 数据包简单分析案例
下面列举一些例子,讲解基于TCP,UDP 的一些应用。
一、UDP数据传输
udp的数据传输前面已讲解过,client向server发送一个 udp请求或其它基于udp协议的数据类型包,server会做 出回应。
下图是1.219向202.102.192.68请求解析 www.sina.com.cn的ip是多少?
TCP对每次发达的数据段,都带有一个序列号, 对方收到此数据会对此数据进行确认,表明这 部分我已经收到了,同时表示我想下次收到某 一个序列号的数据段。因为这样,所以TCP才 提供了可靠的数据流传输,如果其中某个数据 段丢失了,却等了一段时间之后还没有收到对 此数据的确认,它会重新再传一份过去。直到 收到对此数据段的确认为止。
第一章 协议简介
更新时间:2010/02/06
一、TCP协议简介
TCP(Transmission Control Protocol)的简写,中文 译名为传输控制协议 。位于OSI中的传输层。
传输层主要为两台主机上的应用程序提供端到端的通 信。在 TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议) 。
如果想看tcp数据,填tcp 如果想看192.168.1.6和192.168.1.8之间
的通讯数据,填ip.addr== 192.168.1.8 && ip.addr == 192.168.1.6 如果想看192.168.1.6发送的数据,填 ip.src==192.168.1.6
显示一个会话流
而UDP没有这种对数据段的确认功能。
3. TCP连接的终止
在client,server之间的数据传输完成后, 会有一方主动请求终止这个tcp连接。
假设server主动终止tcp连接:
server会发送带有FIN标志位的包到达 client,client收到这个FIN包后,回应ACK 包对这个FIN包确认,接着client也发送 FIN到server,server收到后也发送确认 ACK。
202.102.192.68很快回应结果: www.sina.com.cn对应的ip是61.172.201.194
二、 TCP连接的建立
tcp的连接建立在前面已经说过。 1.219向1.109的http端口(80),发送tcp SYN数据包,
1.109回应SYN,ACK,最后1.219发送ACK确认。 下图是tcp三次握手在协议分析器的体现。
Web的应用层协议HTTP是Web的核心。HTTP在Web的 客户程序和服务器程序中得以实现。运行在不同端系 统上的客户程序和服务器程序通过交换 HTTP消息彼此 交流。HTTP定义这些消息的结构以及客户和服务器如 何交换这些消息。
我们每天看网站,新闻,论坛,视频网站,基本上都 是通过浏览器来实现的,但浏览器底层就是使用HTTP 协议与服务器传输数据的。
粉红色的表示client发送的数据,蓝色的表示server回应的 数据
二、Ethereal使用过程中常见问题
Ethereal使用过程中难免会遇到各式各样 的问题,下面对平时常见的问题做个简 单列举:
1. 无法抓包
如下图:列出系统中的网卡时,看不到真实网卡,第二个图是正常情 况下的截图,可以看到有个Marvell 厂商的网卡。
如果出现很多,基本可以断定受到SYN Flood攻击了。
五、 TCP连接wk.baidu.com重置
从下图可以看到:192.168.1.66向202.102.192.69发送了 TCP 请求建立包,
如果只想捕获UDP协议,填udp就可以了. 如果想捕获dns数据,填udp port 53 如果想捕获访问网站数据,填tcp port 80 如果想捕获192.168.1.2数据,填host
192.168.1.2 如果想捕获arp数据,填arp 如果想捕获arp和tcp数据,填arp || tcp
三、TCP SYN数据包被防火墙拦截
如果带有SYN标志位的数据被防火墙拦截了,那么tcp 连接就建立不成功。
从下图本地抓包可以看出,看不到server端回应的 SYN,ACK包。
192.168.1.219向192.1681.34发送带有 SYN标志位的 包,过了一段时间之后,没看到1.34的回应,等了3秒 左右,又重传一次,又没看到1.34的回应,又过了6秒, 又重传一次。
MSS就是TCP数据包每次能够传输的最大数据分段。 为了达到最佳的传输效能TCP协议在建 立连接的 时候通常要协商双方的MSS值,这个值TCP协议在 实现的时候往往用MTU值代替(需要减去IP数据 包包头的大小20Bytes和TCP数据段的 包头 20Bytes)所以往往MSS为1460。通讯双方会根据 双方提供的MSS值得最小值确定为这次连接的最 大MSS值。
tcp的一次连接,以client ip,源端口,及 server ip,本地端口组成的一次连接过程, 就是一个会话流,如:
建立好tcp三次握手,client请求一个 1.jpg的图片,server回应1.jpg的数据, 之后再结束连接。这么一个过程就是一 个会话流。
在数据包汇总栏任意位置点右键,选择Follow TCP Stream,就会显示一个 会话流的数据包,同时还会出现一个新的窗口(看下一张图片),下图的 一个会话流共10个包
TCP为两台主机提供高可靠性的数据通信。它所做的工 作包括把应用程序交给它的数据分成合适的小块交给 下面的网络层,确认接收到的分组,设置发送最后确 认分组的超时时钟等。由于运输层提供了高可靠性的 端到端的通信,因此应用层可以忽略所有这些细节。
像我们平时使用浏览器打开网站,远程桌面连接都使 用TCP协议。
可能导致此种情况的防火墙设置
1. 规则中封了本地ip的所有流量; 2. 规则中封了本地ip的此端口流量; 3. 规则中封了外部ip的所有流量; 4. 防火墙的屏蔽列表。
四、 SYN Flood攻击
看下图,可以看到很多主机向ip发送带有syn标志位的数 据包,而且源ip都不一样。
2. 捕获不到数据包
没有设置任何捕获过滤器,却始终捕获不到包,这时可能是没有选择正 确的网卡有关,看下图图1红色框部分,那不是真实存在的网卡,在 图2中选择系统中真实存在的网卡即可 。
1. TCP连接的建立
建立一个 tcp连接, 需要建立三次握手, 看左图:
client第一次发送一 个带有SYN标志位 的包到达 server,server回应 SYN,ACK标志位, 最后client回应ACK, 连接建立完成。
2. TCP数据的传输
Tcp将应用进程交付给自己的数据分成很多小数据 段,每个数据段的最大值是MSS(Maxitum Segment Size,最大传输大小的缩写),这个值可 在带有标志位SYN的包中看到。
3. 设置了捕获过滤器无法抓包
看下图,填好捕获条件后,出现错误,无法抓 包, 原因是由于捕获过滤器语法错误.
应该改成udp port 53或udp 等。
4、无法使用显示过滤器
输入了显示过滤器,点Apply,没有反应,出现提示框,原因是显示过滤书写 有误,addr后面少了一个等于号,168后面多了个点,如果书写正确的话,显 示过滤栏处不会是红色,而是绿色,看右下角小图:
当然FIN和ACK也可以在一个包一同发送 过去。
4. TCP状态变迁图
左边图是从进程 开始closed,到 监听,到完成一 系列的连接后, client 和server中 tcp的状态变化图。
二、HTTP协议简介
超文件传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网络传输协议。
简单说就是将网站名字翻译成ip地址的。 平时的网站都是www.sina.com www.zxfirewall.com 这些名字,但网络连接这些
网站时,是以ip地址来连接,如果让你访问www.sina.com.cn 记住要用 61.172.201.194这个ip去登陆,你记得住吗,网站那么多,你能记得住几个ip地址? 这就是每台上网的电脑中要设置dns服务器地址的原因。 当你在浏览器输入www.zxfirewall.com,浏览器就会向你电脑中设置的dns地址, 发送一个dns请求,请求的内容是”www.zxfirewall.com的ip是多少”,dns服务 器收到后,会将对应的ip地址回应给浏览器,浏览器才会向这个ip地址发送tcp 的 连接。
UDP是无连接的,所以不存在建立三次握手,客 户端只要发送一个udp数据到服务器,数据部 分带有请求部分,服务器接受到了就会且个应 答。
UDP是个不可靠的连接,目前网络还用它的原 因是: 它有时传输的更快,简单。
DNS 域名解析就是一个例子,视频聊天室传输 视频也是。
四、DNS协议简介
ethereal是一款基于tcpdump的开源GUI数据包嗅探分析软件, 支持UNIX、GNU/Linux、Windows、类BSD等操作系统。
软件界面
捕获过滤器
含义: 就对要获取的数据定义一个捕获条
件,因为你可能只对tcp数据包感兴趣, 所以没有必要将其它协议的数据捕获下 来。
捕获过滤器简单语法
HTTP协议传输过程
Client首先和Server建立tcp连接,然后 client发送请求,server回应请求; client 再发送请求,server再回应请求;如此重 复的下去,直到client或server 主动终止 连接。
三、UDP协议简介
UDP 是User Datagram Protocol的简称, 中文 名是用户数据包协议,是 OSI 参考模型中一种 无连接的传输层协议,提供面向事务的简单不 可靠信息传送服务。
显示过滤器
含义:
如果像之前已经只捕获了tcp和udp的数 据,但可能还需要只看tcp数据中的某部分 数据,如只看192.168.1.2这个ip的数据,这 里就要用到显示过滤器了。它是从已经捕获 到的数据中再次过滤,将过滤后的数据单独 显示出来。
显示过滤器简单语法
如果只想看tcp 80端口的数据,填 tcp.port==80
HTTP协议目前有两个版本1.0和1.1,大部分浏 览器默认使用HTTP 1.1。
它是一种应用层协议,在TCP协议之上。
如:当打开 www.zxfirewall.com时,浏览器发 送一个带有HTTP协议头的包到达sina服务器, 服务器回应的数据都带有HTTP头数据,再加 上真正的网站数据。但它还是要通过TCP帮它 传输自身的,HTTP头加上HTTP数据,在TCP 那儿看来,还是TCP的数据部分。(后在数据包 分析有讲)
如果dns解析不出ip地址,那你的网站通过域名也就没法打开了。
第二章 协议分析仪
本章主要讲解协议分析仪(数据包分析软 件)的基本使用。
下面以ethereal软件为例:
一、Ethereal使用
Ethereal简介:
下载地 址:(http://www.ethereal.com/distribution/win32/ethereal-setup0.99.0.exe)
DNS是域名系统(DomainNameSystem)的缩写 ,该系统用于命名组织到域层次结 构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域 名都对应一个惟一的IP地址,在 Internet上域名与IP地址之间是一一对应的,DNS 就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友 好的名称查找计算机和服务。DNS是因特网的一项核心服务,它作为可以将域名和 IP地址相互映射的一个分布式数据库。
第三章 数据包简单分析案例
下面列举一些例子,讲解基于TCP,UDP 的一些应用。
一、UDP数据传输
udp的数据传输前面已讲解过,client向server发送一个 udp请求或其它基于udp协议的数据类型包,server会做 出回应。
下图是1.219向202.102.192.68请求解析 www.sina.com.cn的ip是多少?
TCP对每次发达的数据段,都带有一个序列号, 对方收到此数据会对此数据进行确认,表明这 部分我已经收到了,同时表示我想下次收到某 一个序列号的数据段。因为这样,所以TCP才 提供了可靠的数据流传输,如果其中某个数据 段丢失了,却等了一段时间之后还没有收到对 此数据的确认,它会重新再传一份过去。直到 收到对此数据段的确认为止。
第一章 协议简介
更新时间:2010/02/06
一、TCP协议简介
TCP(Transmission Control Protocol)的简写,中文 译名为传输控制协议 。位于OSI中的传输层。
传输层主要为两台主机上的应用程序提供端到端的通 信。在 TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议) 。
如果想看tcp数据,填tcp 如果想看192.168.1.6和192.168.1.8之间
的通讯数据,填ip.addr== 192.168.1.8 && ip.addr == 192.168.1.6 如果想看192.168.1.6发送的数据,填 ip.src==192.168.1.6
显示一个会话流
而UDP没有这种对数据段的确认功能。
3. TCP连接的终止
在client,server之间的数据传输完成后, 会有一方主动请求终止这个tcp连接。
假设server主动终止tcp连接:
server会发送带有FIN标志位的包到达 client,client收到这个FIN包后,回应ACK 包对这个FIN包确认,接着client也发送 FIN到server,server收到后也发送确认 ACK。
202.102.192.68很快回应结果: www.sina.com.cn对应的ip是61.172.201.194
二、 TCP连接的建立
tcp的连接建立在前面已经说过。 1.219向1.109的http端口(80),发送tcp SYN数据包,
1.109回应SYN,ACK,最后1.219发送ACK确认。 下图是tcp三次握手在协议分析器的体现。
Web的应用层协议HTTP是Web的核心。HTTP在Web的 客户程序和服务器程序中得以实现。运行在不同端系 统上的客户程序和服务器程序通过交换 HTTP消息彼此 交流。HTTP定义这些消息的结构以及客户和服务器如 何交换这些消息。
我们每天看网站,新闻,论坛,视频网站,基本上都 是通过浏览器来实现的,但浏览器底层就是使用HTTP 协议与服务器传输数据的。
粉红色的表示client发送的数据,蓝色的表示server回应的 数据
二、Ethereal使用过程中常见问题
Ethereal使用过程中难免会遇到各式各样 的问题,下面对平时常见的问题做个简 单列举:
1. 无法抓包
如下图:列出系统中的网卡时,看不到真实网卡,第二个图是正常情 况下的截图,可以看到有个Marvell 厂商的网卡。
如果出现很多,基本可以断定受到SYN Flood攻击了。
五、 TCP连接wk.baidu.com重置
从下图可以看到:192.168.1.66向202.102.192.69发送了 TCP 请求建立包,
如果只想捕获UDP协议,填udp就可以了. 如果想捕获dns数据,填udp port 53 如果想捕获访问网站数据,填tcp port 80 如果想捕获192.168.1.2数据,填host
192.168.1.2 如果想捕获arp数据,填arp 如果想捕获arp和tcp数据,填arp || tcp
三、TCP SYN数据包被防火墙拦截
如果带有SYN标志位的数据被防火墙拦截了,那么tcp 连接就建立不成功。
从下图本地抓包可以看出,看不到server端回应的 SYN,ACK包。
192.168.1.219向192.1681.34发送带有 SYN标志位的 包,过了一段时间之后,没看到1.34的回应,等了3秒 左右,又重传一次,又没看到1.34的回应,又过了6秒, 又重传一次。
MSS就是TCP数据包每次能够传输的最大数据分段。 为了达到最佳的传输效能TCP协议在建 立连接的 时候通常要协商双方的MSS值,这个值TCP协议在 实现的时候往往用MTU值代替(需要减去IP数据 包包头的大小20Bytes和TCP数据段的 包头 20Bytes)所以往往MSS为1460。通讯双方会根据 双方提供的MSS值得最小值确定为这次连接的最 大MSS值。
tcp的一次连接,以client ip,源端口,及 server ip,本地端口组成的一次连接过程, 就是一个会话流,如:
建立好tcp三次握手,client请求一个 1.jpg的图片,server回应1.jpg的数据, 之后再结束连接。这么一个过程就是一 个会话流。
在数据包汇总栏任意位置点右键,选择Follow TCP Stream,就会显示一个 会话流的数据包,同时还会出现一个新的窗口(看下一张图片),下图的 一个会话流共10个包
TCP为两台主机提供高可靠性的数据通信。它所做的工 作包括把应用程序交给它的数据分成合适的小块交给 下面的网络层,确认接收到的分组,设置发送最后确 认分组的超时时钟等。由于运输层提供了高可靠性的 端到端的通信,因此应用层可以忽略所有这些细节。
像我们平时使用浏览器打开网站,远程桌面连接都使 用TCP协议。
可能导致此种情况的防火墙设置
1. 规则中封了本地ip的所有流量; 2. 规则中封了本地ip的此端口流量; 3. 规则中封了外部ip的所有流量; 4. 防火墙的屏蔽列表。
四、 SYN Flood攻击
看下图,可以看到很多主机向ip发送带有syn标志位的数 据包,而且源ip都不一样。