下载此文档

基于Linux环境下的Sniffer设计与实现.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
基于 Linux 环境下的 Sniffer 设计与实现基于 Linux 环境下的 Sniffer 设计与实现在实现嗅探器之前, 我们先需要掌握 TCP/IP 协议。 TCP 协议和 IP协议指两个用在 上的网络协议(或数据传输的方法)。它们分别是传输控制协议和互连网协议。这两个协议属于众多的 TCP/IP 协议组中的一部分。一、 Sniffer 原理分析在实现嗅探器之前, 我们先需要掌握 TCP/IP 协议。 TCP 协议和 IP协议指两个用在 上的网络协议(或数据传输的方法)。它们分别是传输控制协议和互连网协议。这两个协议属于众多的 TCP/IP 协议组中的一部分。 TCP/IP 协议组中的协议保证 上数据的传输, 提供了几乎现在上网所用到的所有服务。这些服务包括: 电子邮件的传输、文件传输、新闻组的发布和访问万维网。 TCP 协议在 IP 协议之上。与 IP 协议提供不可靠传输服务不同的是, TCP 协议为其上的应用层提供了一种可靠传输服务。这种服务的特点是:可靠、全双工、流式和无结构传输。 TCP 传输原理: TCP 协议使用了一个叫积极确认和重发送(positive acknowledgement with retransmission) 的技术来实现可靠传输。接收者在收到发送者发送的数据后,必须发送一个相应的确认( ACK ) 消息, 表示它已经收到了数据。发送者保存发送的数据的记录, 在发送下一个数据之前, 等待这个数据的确认消息。在它发送这个数据的同时, 还启动了一个记时器。如果在一定时间之内, 没有接收到确认消息, 就认为是这个数据在传送时丢失了, 接着, 就会重新发送这个数据。这种方法还产生了一个问题, 就是包的重复。如果网络传输速度比较低, 等到等待时间结束后, 确认消息才返回到发送者, 那么, 由于发送者采用的发送方法, 就会出现重复的数据了。解决的一个办法是给每个数据一个序列号, 并需要发送者记住哪个序列号的数据已经确认了。为了防止由于延时或重复确认, 规定确认消息里也要包含确认序列号。从而发送者就能知道哪个包已经确认了。 TCP 协议中还有一鲋匾母拍睿夯翱凇U庖环椒ǖ 氖褂茫沟么涓痈咝А? 有前面的描述可见,发送者在发送完一个数据包之后,要等待确认。在它收到确认消息之前的这段时间是空闲的。如果网络延时比较长, 这个问题会相当明显。滑动窗口方法是在它收到确认消息以前, 发送多个数据包。可以想象成有一个窗口在一个序列上移动。如果一个包发送出去之后还没有确认, 叫做未确认包。通常未确认的包的个数就是窗口的大小。在接收端,也有一个滑动窗口接收和确认一个包。使用 TCP 传输就是建立一个连接。在 TCP 传输中一个连接有两个端点组成。其实, 一个连接代表的是发送和接收两端应用程序的之间的一个通信。可以把他们想象成建立了一个电路。通常一个连接用下面的公式表示: (host,port) , host 是主机, port 是端口。 TCP 端口能被几个应用程序共享。对于程序员来讲, 可以这样理解: 一个应用程序可以为不同的连接提供服务。 TCP 传输的单位是段,在建立连接,传送数据,确认消息和告之窗口大小时均要进行段的交换。 TCP 协议使用一个三次握手来建立一个 TCP 连接的。握手过程的第一个段的代码位设置为 SYN ,序列号为 x ,

基于Linux环境下的Sniffer设计与实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wc69885
  • 文件大小0 KB
  • 时间2016-06-19