rip协议源码(Rip是什么协议)

      最后更新:2023-06-20 11:13

      请问哪里可以找到RIP协议的C或C++实现源代码

      http://rip.mozdev.org/source.html 该网站有RIP源代码,本人英语太烂,所以用工具翻译网页,也在目录中看到RIP关键词,应该有源代码,你找看看。
      请问哪里可以找到RIP协议的C或C++实现源代码

      模拟人生1我在休假下载 我不要全集

      模拟人生没全集只有8合一,里面甚么都有,你想要的话网在下面要3个放在一个文件夹才可以玩 http://lib.verycd.com/2004/02/26/0000005935.html大名鼎鼎的模拟人生,不用介绍了吧!这个是全套,包含了第一张盘、美好生活、欢乐派对、燃情约会、我在休假、家有宠物、超级明星直到魔幻人生,很不错的!提供的4个文件都要下载,其中第一个txt格式的文件里面是安装密码,后三个下载后一定要放在同一个文件夹内才可以安装。安装时请点击The Sims 8in1.exe。EA公司今天宣布,EA已经在全球销售了超过6百30万套PC平台游戏《模拟人生(The Sims)》,成为长期稳居PC游戏销售排行第一的游戏。这个全球流行的游戏允许玩家创造模拟人士(Sims)的邻居、控制他们的生活,自从2000年2月游戏上市以来,这款游戏就象流星焰火一样成为销售点的明星,并迅速成为全球流行的游戏和一种文化现象。《模拟人生(The Sims)》是2000年2001年最畅销的PC游戏。它有含简体中文在内的13种不同的语言版本,至今《模拟人生》仍然还是全球最畅销的游戏,也是国内玩家的手中至宝。《模拟人生》的成功还得益于它的4个非常有创意的资料盘:《美好生活(Livin' Large)》,允许玩家将模拟人士从《模拟人生》放到新的扩展的社会和设置里,《欢乐派对(House Party)》则提供给玩家为模拟人士举办疯狂宴会的机会,《燃情约会(Hot Date)》更是提供一整个完整的全新市区,让模拟人士们在那里游戏、约会,到3月26日,最新版的资料盘《我在休假(On Holiday)》里,模拟人士们可以带着自己的亲朋好友,去到一个充满乐趣的渡假岛渡过快乐的时光!从《模拟人生(The Sims)》、《模拟人生:美好生活(The Sims Livin' Large)、《模拟人生:欢乐派对(The Sims House Party)》、《模拟人生:燃情约会(The Sims Hot Date)》总共已经有最多1千3百万套的销售记录!"与消费者和评论家们对《模拟人生》的期望相反,"EA的总裁John Riccitiello说,"《模拟人生》已经成为一种文化现象,它吸引了全球的许多忠实玩家、普通PC操作者,甚至许多其他的普通消费者以及女性玩家。超过50%的新模拟人士玩家是女性。"从发行的那一天起,《模拟人生(The Sims)》就开始进入流行文化意识。在2000年9月,游戏就得到了纽约城中电子娱乐爱好者们的无限赞美,每个人都在这一PC游戏中找到了与自己的生活相类似的角色。在ABC的电视节目"Drew Carey Show"中模拟人士们用自己独特的语言相互交流,描述愚人节那天在Winfred-Louder Department Store的各种滑稽行为。 最近,Fox(福克斯)也在电视节目中为《模拟人生》开辟了一个新的栏目"Malcolm In The Middle(马尔科姆身在其中)"。Malcolm在游戏中创建的家庭"The Virts"有一个悲惨的结局。从《模拟人生》发行之日起,EA就一直致力于通过其官方网站http://www.TheSims.com为此游戏提供一系列的免费资源以扩展此游戏的价值。每个月都有超过1,000,000个不同的用户访问TheSims.com,下载最新的房间摆设或是角色的衣着。其中一项最受欢迎的是允许玩家们粘贴自己的《模拟人生》故事供访客阅读。目前在TheSims.com上有超过34,000个的故事。游戏真正的魅力和娱乐性在于《模拟人生》无数的爱好者。许多玩家创建了新的物体和市民,从梦幻家具到前卫作品比比皆是,这些可下载的物品增加了模拟人士们的游戏乐趣。在2000年,游戏被"Academy of Interactive Arts and Science(互动艺术和科学学会)"和美国及其它许多国家的发行商们评为"Game of the Year(年度最佳游戏)"。《模拟人生》的创造者,Will Wright,也在2月份加入了"Academy of Interactive Arts and Sciences Hall of Fame(互动艺术和科学学会荣誉堂)",这一荣誉也曾被授予像Sid Meier和Shigeru Miyamoto一样的传奇人物。引用此页 (Trackback) (?)引用后通告地址 (Trackback URL):http://service.verycd.com/trackback/lib/0000005935/察看评论:《模拟人生8in1中文版》(The Sims)参与讨论(需注册会员) eMule 资源频道首页(116114)电影(18038)音乐(57597)游戏(4749)>光盘镜像(3074)>硬盘版(1461)>TV游戏(113)>其他游戏(101)软件(3056)动漫(10151)剧集(6301)资料(11982)综艺(3344)杂志(896)论坛(425182)eMule 客户端下载eMule 是下载迅速、资源丰富的新一代 P2P 软件,完全遵从 GPL 协议开发,开放源码,永久免费。利用他的卓越特性,我们不但可以与全世界的网友共同分享资源,更可以通过 VeryCD,下载和发布最新的资源,充分享受自由共享的乐趣!最新版本:0.48a VeryCD Build 080313相关链接eMule 中文站网站帮助(FAQ)热门下载《惊天动地》(CABAL)内测客户端[Ver1.0]《反恐精英起源&胜利之日起源》2928多国语言硬盘版《极品摩托》(MOTOGP)RIP《英雄连》(Company of Heroes)简体中文完整硬盘高压缩版(全动画,全音乐)《仙剑奇侠传后传——灵儿续传》完整版《爱国者:战火中的国家》(Patriots: A Nation Under Fire)硬盘版《职业进化足球6》(Pro Evolution Soccer 6)简体中文硬盘版[更新中文实名存档]《真三国无双4》1.2G+680M懒人绿色完美硬盘版《暗黑破坏神II毁灭之王V1.11》(Diablo II: Lord of Destruction)官方正式完整版本(同时显示中英文)《野战雄狮》(Panzer Elite Action Fields Of Glory)繁体中文硬盘版推荐下载《无冬之夜2》(Neverwinter Nights 2)CLONE版破解版《极品飞车10卡本峡谷》(Need for Speed Carbon)典藏DVDClone版/免CD补丁破解版《职业进化足球6》(Pro Evolution Soccer 6)Clone版/破解版[ISO]《世嘉 DC经典游戏集》(SEGA Dreamcast Games)9月23日更新NBA 2K《世嘉土星经典游戏rom合集》(ss rom)10月25日最终更新《世嘉 MD 所有的Roms》(SEGA MD Roms)2006年9月15日更新Bloodshot,Kids On Site《索尼家用综合电脑娱乐平台游戏集锦》(PlayStation Games Collection)[PS] 20061120 雷盖亚传说 日文版《GBA游戏全集》(Game Boy Advanced Roms Collection)~9月15日更新至2475(增列表)《MAME游戏补完中~》9月15日更新至0.108版~《游戏常用支持工具集合》(Game Tools)Cocteau Twins -《Lullabies To Violaine》[4CD][320kbps][MP3!]《舞动人生》(billy.elliot)思路出品.h264.1080p.全码Dts双声轨 15.5G[HDTV]《神鬼八阵图》[TxTPS]国语.V-vb(02/28)[RMVB]Rurutia(ルルティア) -《Rurutia音乐全集》专辑/单曲/MV/广播/访谈[MP3!]宇多田光(Utada Hikaru) -《宇多田光音乐全集》单曲专辑更新完毕,PV更新中[MP3!]《中医四大经典之金匮要略》黑龙江中医药大学王雪华教授(不断更新中...)[ISO]《恋期90天》(90Day's love) 更新02集/YYcaF制作/韩语中字HDTV版[RMVB]《超人归来》(Superman Returns)3CD/X264[DVDRip]游鸿明 -《游式情歌1993-2006游鸿明经典全记录》2CD[MP3!]Opeth -《Discografia》1995 - 2005合辑[MP3!]关于我们 | 诚聘英才 | 著作权声明 | 合作信息 | 网站地图沪ICP备05001009号 ©2003 - 2006Some Rights Reserved.
      模拟人生1我在休假下载  我不要全集

      BGP路由协议原理

      我大概说一下吧 BGP用于AS之间,如电信各运营商之间都是使用BGP协议。1、BGP不同于OSPF/IS-IS/RIP等协议,它是一种AS之间的路由选择协议,而OSPF/RIP等属于AS内部路由选择协议;2、BGP是用来管理路由的,本身不能发现路由,而域内路由选择协议是可以及时发现路由的,并根据不同的算法计算路由。3、BGP对路由的管理体现在:BGP有丰富的路由属性,如:下一跳、metric、优先级、团体等,通过这些属性控制路由在as内的出入。BGP的几个工作原则:1, 忽略下一跳不可达的路由2, 忽略不同步的IBGP路由3, 首选具有最大权重优先,思科私有。(local to router)4, 首选具有最大本地优先级优先。(global within AS)5, 首选具有始发本地的路由的路由器优先,(next hop=0.0.0.0)6, 首选具有最短AS-PATH的路由。7, 首选具有最小的源码的路由,IGP〈EBP〈incomplete8, 当所有路由的AS号都相同的时候,首选MED最低的路由,在所有AS号码相同的时候比较MED9, 首选具有EBGP〉联盟EBGP>IBGP10,首选具有最近的IGP邻居路由器优先,metric11 首选具有最老的路由优先(注意:现在这条基本不用)12,首选具有最低ROUTER-ID的路由。(2个BGP地址不能建邻)13,首选具有最低的neighbor的IP地址 赞同0|评论
      BGP的工作原理看书就行了,主要是了解BGP选路的11个规则,学好11个规则,BGP也算差不多了 1, 忽略下一跳不可达的路由2, 忽略不同步的IBGP路由3,首选具有最大权重优先,思科私有。(local to router)4, 首选具有最大本地优先级优先。(global within AS)5, 首选具有始发本地的路由的路由器优先,(next hop=0.0.0.0)6, 首选具有最短AS-PATH的路由。7, 首选具有最小的源码的路由,IGP〈EBP〈incomplete8,当所有路由的AS号都相同的时候,首选MED最低的路由,在所有AS号码相同的时候比较MED9, 首选具有EBGP〉联盟EBGP>IBGP10,首选具有最近的IGP邻居路由器优先,metric11首选具有最老的路由优先(注意:现在这条基本不用)12,首选具有最低ROUTER-ID的路由。(2个BGP地址不能建邻) 13,首选具有最低的neighbor的IP地址
      BGP(Border GatewayProtocol)是一种自治系统间的动态路由发现协议,它的基本功能是在自治系统间自动交换无环路的路由信息,通过交换带有自治系统号(AS)序列属性的路径可达信息,来构造自治区域的拓扑图,从而消除路由环路并实施用户配置的路由策略。与OSPF和RIP等在自治区域内部运行的协议对应,BGP是一类EGP(ExteriorGatewayProtocol)协议,而OSPF和RIP等为IGP(InteriorGatewayProtocol)协议。BGP协议经常用于ISP之间。BGP协议从1989年以来就已经开始使用。它最早发布的三个版本分别是RFC1105(BGP-1)、RFC1163(BGP-2)和RFC1267(BGP-3),当前使用的是RFC1771(BGP-4)。随着INTERNET的飞速发展,路由表的体积也迅速增加,自治区域间路由信息的交换量越来越大,影响了网络的性能。BGP支持无类别域间选路CIDR(ClasslessInterdomainRouting),可以有效的减少日益增大的路由表。BGP-4正迅速成为事实上的Internet边界路由协议标准。特性描述如下:BGP是一种外部路由协议,与OSPF、RIP等的内部路由协议不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。通过携带AS路径信息,可以彻底解决路由循环问题。 为控制路由的传播和路由选择,它为路由附带属性信息。
      BGP路由协议原理

      高分求TCP/IP网络与协议这本书 急

      TCP/IP 卷一 卷二 卷三 我都有 PDF 的 你说的 网络与协议是不是 卷一 ?这是书的目录你看看是不?给你发过去了目 录译者序前言第1章 概述 11.1 引言 11.2 分层 11.3 TCP/IP的分层 41.4 互联网的地址 51.5 域名系统 61.6 封装 61.7 分用 81.8 客户-服务器模型 81.9 端口号 91.10 标准化过程 101.11 RFC 101.12 标准的简单服务 111.13 互联网 121.14 实现 121.15 应用编程接口 121.16 测试网络 131.17 小结 13第2章 链路层 152.1 引言 152.2 以太网和IEEE 802封装 152.3 尾部封装 172.4 SLIP:串行线路IP 172.5 压缩的SLIP 182.6 PPP:点对点协议 182.7 环回接口 202.8 最大传输单元MTU 212.9 路径MTU 212.10 串行线路吞吐量计算 212.11 小结 22第3章 IP:网际协议 243.1 引言 243.2 IP首部 243.3 IP路由选择 273.4 子网寻址 303.5 子网掩码 323.6 特殊情况的IP地址 333.7 一个子网的例子 333.8 ifconfig命令 353.9 netstat命令 363.10 IP的未来 363.11 小结 37第4章 ARP:地址解析协议 384.1 引言 384.2 一个例子 384.3 ARP高速缓存 404.4 ARP的分组格式 404.5 ARP举例 414.5.1 一般的例子 414.5.2 对不存在主机的ARP请求 424.5.3 ARP高速缓存超时设置 434.6 ARP代理 434.7 免费ARP 454.8 arp命令 454.9 小结 46第5章 RARP:逆地址解析协议 475.1 引言 475.2 RARP的分组格式 475.3 RARP举例 475.4 RARP服务器的设计 485.4.1 作为用户进程的RARP服务器 495.4.2 每个网络有多个RARP服务器 495.5 小结 49第6章 ICMP:Internet控制报文协议 506.1 引言 506.2 ICMP报文的类型 506.3 ICMP地址掩码请求与应答 526.4 ICMP时间戳请求与应答 536.4.1 举例 546.4.2 另一种方法 556.5 ICMP端口不可达差错 566.6 ICMP报文的4.4BSD处理 596.7 小结 60第7章 Ping程序 617.1 引言 617.2 Ping程序 617.2.1 LAN输出 627.2.2 WAN输出 637.2.3 线路SLIP链接 647.2.4 拨号SLIP链路 657.3 IP记录路由选项 657.3.1 通常的例子 667.3.2 异常的输出 687.4 IP时间戳选项 697.5 小结 70第8章 Traceroute程序 718.1 引言 718.2 Traceroute 程序的操作 718.3 局域网输出 728.4 广域网输出 758.5 IP源站选路选项 768.5.1 宽松的源站选路的traceroute程序示例 788.5.2 严格的源站选路的traceroute程序示例 798.5.3 宽松的源站选路traceroute程序的往返路由 808.6 小结 81第9章 IP选路 839.1 引言 839.2 选路的原理 849.2.1 简单路由表 849.2.2 初始化路由表 869.2.3 较复杂的路由表 879.2.4 没有到达目的地的路由 879.3 ICMP主机与网络不可达差错 889.4 转发或不转发 899.5 ICMP重定向差错 899.5.1 一个例子 909.5.2 更多的细节 919.6 ICMP路由器发现报文 929.6.1 路由器操作 939.6.2 主机操作 939.6.3 实现 939.7 小结 94第10章 动态选路协议 9510.1 引言 9510.2 动态选路 9510.3 Unix选路守护程序 9610.4 RIP:选路信息协议 9610.4.1 报文格式 9610.4.2 正常运行 9710.4.3 度量 9810.4.4 问题 9810.4.5 举例 9810.4.6 另一个例子 10010.5 RIP版本2 10210.6 OSPF:开放最短路径优先 10210.7 BGP:边界网关协议 10310.8 CIDR:无类型域间选路 10410.9 小结 105第11章 UDP:用户数据报协议 10711.1 引言 10711.2 UDP首部 10711.3 UDP检验和 10811.3.1 tcpdump输出 10911.3.2 一些统计结果 10911.4 一个简单的例子 11011.5 IP分片 11111.6 ICMP不可达差错(需要分片) 11311.7 用Traceroute确定路径MTU 11411.8 采用UDP的路径MTU发现 11611.9 UDP和ARP之间的交互作用 11811.10 最大UDP数据报长度 11911.11 ICMP源站抑制差错 12011.12 UDP服务器的设计 12211.12.1 客户IP地址及端口号 12211.12.2 目标IP地址 12211.12.3 UDP输入队列 12211.12.4 限制本地IP地址 12411.12.5 限制远端IP地址 12511.12.6 每个端口有多个接收者 12511.13 小结 126第12章 广播和多播 12812.1 引言 12812.2 广播 12912.2.1 受限的广播 12912.2.2 指向网络的广播 12912.2.3 指向子网的广播 12912.2.4 指向所有子网的广播 13012.3 广播的例子 13012.4 多播 13212.4.1 多播组地址 13312.4.2 多播组地址到以太网地址的转换 13312.4.3 FDDI和令牌环网络中的多播 13412.5 小结 134第13章 IGMP:Internet组管理协议 13613.1 引言 13613.2 IGMP报文 13613.3 IGMP协议 13613.3.1 加入一个多播组 13613.3.2 IGMP报告和查询 13713.3.3 实现细节 13713.3.4 生存时间字段 13813.3.5 所有主机组 13813.4 一个例子 13813.5 小结 141第14章 DNS:域名系统 14214.1 引言 14214.2 DNS基础 14214.3 DNS的报文格式 14414.3.1 DNS查询报文中的问题部分 14614.3.2 DNS响应报文中的资源记录部分 14714.4 一个简单的例子 14714.5 指针查询 15014.5.1 举例 15114.5.2 主机名检查 15114.6 资源记录 15214.7 高速缓存 15314.8 用UDP还是用TCP 15614.9 另一个例子 15614.10 小结 157第15章 TFTP:简单文件传送协议 15915.1 引言 15915.2 协议 15915.3 一个例子 16015.4 安全性 16115.5 小结 162第16章 BOOTP: 引导程序协议 16316.1 引言 16316.2 BOOTP的分组格式 16316.3 一个例子 16416.4 BOOTP服务器的设计 16516.5 BOOTP穿越路由器 16716.6 特定厂商信息 16716.7 小结 168第17章 TCP:传输控制协议 17017.1 引言 17017.2 TCP的服务 17017.3 TCP的首部 17117.4 小结 173第18章 TCP连接的建立与终止 17418.1 引言 17418.2 连接的建立与终止 17418.2.1 tcpdump的输出 17418.2.2 时间系列 17518.2.3 建立连接协议 17518.2.4 连接终止协议 17718.2.5 正常的tcpdump输出 17718.3 连接建立的超时 17818.3.1 第一次超时时间 17818.3.2 服务类型字段 17918.4 最大报文段长度 17918.5 TCP的半关闭 18018.6 TCP的状态变迁图 18218.6.1 2MSL等待状态 18318.6.2 平静时间的概念 18618.6.3 FIN_WAIT_2状态 18618.7 复位报文段 18618.7.1 到不存在的端口的连接请求 18718.7.2 异常终止一个连接 18718.7.3 检测半打开连接 18818.8 同时打开 18918.9 同时关闭 19118.10 TCP选项 19118.11 TCP服务器的设计 19218.11.1 TCP服务器端口号 19318.11.2 限定的本地IP地址 19418.11.3 限定的远端IP地址 19518.11.4 呼入连接请求队列 19518.12 小结 197第19章 TCP的交互数据流 20019.1 引言 20019.2 交互式输入 20019.3 经受时延的确认 20119.4 Nagle算法 20319.4.1 关闭Nagle算法 20419.4.2 一个例子 20519.5 窗口大小通告 20719.6 小结 208第20章 TCP的成块数据流 20920.1 引言 20920.2 正常数据流 20920.3 滑动窗口 21220.4 窗口大小 21420.5 PUSH标志 21520.6 慢启动 21620.7 成块数据的吞吐量 21820.7.1 带宽时延乘积 22020.7.2 拥塞 22020.8 紧急方式 22120.9 小结 224第21章 TCP的超时与重传 22621.1 引言 22621.2 超时与重传的简单例子 22621.3 往返时间测量 22721.4 往返时间RTT的例子 22921.4.1 往返时间RTT的测量 22921.4.2 RTT估计器的计算 23121.4.3 慢启动 23321.5 拥塞举例 23321.6 拥塞避免算法 23521.7 快速重传与快速恢复算法 23621.8 拥塞举例(续) 23721.9 按每条路由进行度量 24021.10 ICMP的差错 24021.11 重新分组 24321.12 小结 243第22章 TCP的坚持定时器 24522.1 引言 24522.2 一个例子 24522.3 糊涂窗口综合症 24622.4 小结 250第23章 TCP的保活定时器 25123.1 引言 25123.2 描述 25223.3 保活举例 25323.3.1 另一端崩溃 25323.3.2 另一端崩溃并重新启动 25423.3.3 另一端不可达 25423.4 小结 255第24章 TCP的未来和性能 25624.1 引言 25624.2 路径MTU发现 25624.2.1 一个例子 25724.2.2 大分组还是小分组 25824.3 长肥管道 25924.4 窗口扩大选项 26224.5 时间戳选项 26324.6 PAWS:防止回绕的序号 26524.7 T/TCP:为事务用的TCP扩展 26524.8 TCP的性能 26724.9 小结 268第25章 SNMP:简单网络管理协议 27025.1 引言 27025.2 协议 27025.3 管理信息结构 27225.4 对象标识符 27425.5 管理信息库介绍 27425.6 实例标识 27625.6.1 简单变量 27625.6.2 表格 27625.6.3 字典式排序 27725.7 一些简单的例子 27725.7.1 简单变量 27825.7.2 get-next操作 27825.7.3 表格的访问 27925.8 管理信息库(续) 27925.8.1 system组 27925.8.2 interface组 28025.8.3 at组 28125.8.4 ip组 28225.8.5 icmp组 28525.8.6 tcp组 28525.9 其他一些例子 28825.9.1 接口MTU 28825.9.2 路由表 28825.10 trap 29025.11 ASN.1和BER 29125.12 SNMPv2 29225.13 小结 292第26章 Telnet和Rlogin:远程登录 29326.1 引言 29326.2 Rlogin协议 29426.2.1 应用进程的启动 29526.2.2 流量控制 29526.2.3 客户的中断键 29626.2.4 窗口大小的改变 29626.2.5 服务器到客户的命令 29626.2.6 客户到服务器的命令 29726.2.7 客户的转义符 29826.3 Rlogin的例子 29826.3.1 初始的客户-服务器协议 29826.3.2 客户中断键 29926.4 Telnet协议 30226.4.1 NVT ASCII 30226.4.2 Telnet命令 30226.4.3 选项协商 30326.4.4 子选项协商 30426.4.5 半双工、一次一字符、一次一行或行方式 30426.4.6 同步信号 30626.4.7 客户的转义符 30626.5 Telnet举例 30626.5.1 单字符方式 30626.5.2 行方式 31026.5.3 一次一行方式(准行方式) 31226.5.4 行方式:客户中断键 31326.6 小结 314第27章 FTP:文件传送协议 31627.1 引言 31627.2 FTP协议 31627.2.1 数据表示 31627.2.2 FTP命令 31827.2.3 FTP应答 31927.2.4 连接管理 32027.3 FTP的例子 32127.3.1 连接管理:临时数据端口 32127.3.2 连接管理:默认数据端口 32327.3.3 文本文件传输:NVT ASCII表示还是图像表示 32527.3.4 异常中止一个文件的传输:Telnet同步信号 32627.3.5 匿名FTP 32927.3.6 来自一个未知IP地址的匿名FTP 33027.4 小结 331第28章 SMTP:简单邮件传送协议 33228.1 引言 33228.2 SMTP协议 33228.2.1 简单例子 33228.2.2 SMTP命令 33428.2.3 信封、首部和正文 33528.2.4 中继代理 33528.2.5 NVT ASCII 33728.2.6 重试间隔 33728.3 SMTP的例子 33728.3.1 MX记录:主机非直接连到Internet 33728.3.2 MX记录:主机出故障 33928.3.3 VRFY和EXPN命令 34028.4 SMTP的未来 34028.4.1 信封的变化:扩充的SMTP 34128.4.2 首部变化:非ASCII字符 34228.4.3 正文变化:通用Internet邮件扩充 34328.5 小结 346第29章 网络文件系统 34729.1 引言 34729.2 Sun远程过程调用 34729.3 XDR:外部数据表示 34929.4 端口映射器 34929.5 NFS协议 35129.5.1 文件句柄 35329.5.2 安装协议 35329.5.3 NFS过程 35429.5.4 UDP还是TCP 35529.5.5 TCP上的NFS 35529.6 NFS实例 35629.6.1 简单的例子:读一个文件 35629.6.2 简单的例子:创建一个目录 35729.6.3 无状态 35829.6.4 例子:服务器崩溃 35829.6.5 等幂过程 36029.7 第3版的NFS 36029.8 小结 361第30章 其他的TCP/IP应用程序 36330.1 引言 36330.2 Finger协议 36330.3 Whois协议 36430.4 Archie、WAIS、Gopher、Veronica和WWW 36630.4.1 Archie 36630.4.2 WAIS 36630.4.3 Gopher 36630.4.4 Veronica 36630.4.5 万维网WWW 36730.5 X窗口系统 36730.5.1 Xscope程序 36830.5.2 LBX: 低带宽X 37030.6 小结 370附录A tcpdump程序 371附录B 计算机时钟 376附录C sock程序 378附录D 部分习题的解答 381附录E 配置选项 395附录F 可以免费获得的源代码 406参考文献 409 缩略语 420
      迅雷上有,我下过的,下过后给点分啊,呵呵
      高分求TCP/IP网络与协议这本书 急

      发包长度大于1518的发包工具

      三款常用IP发包工具介绍 SENDIP 可在各种UNIX 或LINUX 版本中运行,本人使用的是SLACKWARE 8.0 和REDHAT 9.0 两个版本。可在网站http://www.earth.li/projectpurple/progs/sendip.html中下载最新的源代码或RPM包,目前版本为2.5,源码包大小只有54K。2.1.1. 安装过程SENDIP 的安装过程非常简单,首先从前面介绍的网站中下载最新的源代码包,目前为sendip-2.5.tar.gz。在LINUX 系统中执行:#tar –xzvf sendip-2.5.tar.gz#cd sendip-2.5#make#make install在系统的/usr/local/bin 目录下会产生一个SENDIP 命令文件,同时,在/usr/local/lib 目录下建立一个sendip 目录,并在其下放置ipv4.so、ipv6.so、tcp.so 等与协议相关的模块文件。通过在命令行下运行这个文件,我们可以产生各种各样我们需要的IP 包,还可以通过运行脚本自动发送大量的IP 包。AntPower 版权所有© 2003 技术文章http://www.antpower.org第3 页共14 页2.1.2. 发包方法SENDIP 可以发送NTP, BGP, RIP, RIPng, TCP, UDP, ICMP、IPv4 和IPv6 等各种格式的数据包,SENDIP 本身是以模块的方式发送各种协议的数据包,用-p 参数指定协议类型,要发送每种协议的数据包, 必须对该协议的数据包格式有一定的了解。通常发送TCP/UDP/ICMP 数据包时,都必须以IP 包进行封装,然后才可以发出去。本节我们将以TCP数据包为例进行讲述。下面介绍一下SENDIP 的命令行格式,以下为直接执行SENDIP 时的输出:Usage: sendip [-v] [-d data] [-h] [-f datafile] [-p module] [module options] hostname-d data add this data as a string to the end of the packetData can be:rN to generate N random(ish) data bytes;0x or 0X followed by hex digits;0 followed by octal digits;any other stream of bytes(以指定字节的随机数据填充包中的数据段)-f datafile read packet data from file(以指定数据文件中的内容填充包中的数据段)-h print this message(输出帮助信息)-p module load the specified module (see below)(指定协议类型)-v be verbose(运行时输出详细运行信息,如不指定,运行时不输出信息)(协议类型是以模块的方式指定的,用-p 参数指定)Modules are loaded in the order the -p option appears. The headers fromeach module are put immediately inside the headers from the previos model inthe final packet. For example, to embed bgp inside tcp inside ipv4, dosendip -p ipv4 -p tcp -p bgp ....Modules available at compile time:ipv4 ipv6 icmp tcp udp bgp rip ntp(支持的协议类型)通常执行格式如下:#sendip –v –d r64 –p ipv4 –iv 4 –ih 5 –il 128 –is 10.0.0.1 –id 30.0.0.1 –p tcp –ts 1379 –td 23 –tt 8 30.0.0.1-v:运行时输出详细运行信息,如不指定,运行时不输出信息–d r64:用64 字节的随机数值填充IP 包中的数据段–p ipv4:指定协议类型为IP 协议(IP 协议有自己的相应参数,以i 开头)–iv 4:协议版本为4,即IPV4–ih 5:指定IP 头的长度为5×4=20 字节–il 128:指定IP 包的总长度为128 字节–is 10.0.0.1:指定IP 包的源地址–id 30.0.0.1:指定IP 包的目的地址AntPower 版权所有© 2003 技术文章http://www.antpower.org第4 页共14 页–p tcp:指定IP 包中封装的包的协议类型(TCP 协议有自己的相应参数,以t 开头)–ts 1379:指定TCP 包的源端口1379–td 23:指定TCP 包的目的端口为23-tt 8:指定TCP 包的偏移量即TCP 头的长度,没有TCP 选项时为5,即20 字节,有TCP 选项时需要增加。30.0.0.1:指定发包的目的主机以上部分为利用SENDIP 发送一个简单的TCP 数据包的方法,下面结合IP 和TCP 数据包的格式详细介绍IP 和TCP 协议的各种参数。具体各种协议的数据包格式可参考TCP/IP 协议中对各种协议数据包格式的介绍,下面我们只介绍IP 数据包的格式和TCP 数据包的格式:IP 数据包的格式:根据IP 数据包的格式,SENDIP 有如下命令行参数可以指定对应的IP 数据包中参数的值。Field nameSize(bits)SendIPoptionDescriptionVersion 4 -iv Always 4(对应“4 位版本”,通常值为4,表示IPV4)Header length 4 -ihIP header length, measured in 32bit words, 5 if there areno options(对应“4 位首部长度”,表示以32 位即4字节为单位的IP 首部长度,如果没有IP 参数的话,通常为5,表示首部长度为20 字节,如有IP 参数的话,需要调整该值)Type ofService/DifferentiatedServices8 -iy服务类型(TOS)字段由8 位组成,其中包括3 位的优先权字段(现已被忽略)、4 位的TOS 子字段和1位未用位但必须置0,4 位TOS 子字段分别代表最小时延、最大吞吐量、最高可靠性和最小费用。4 位只能置其中1 位,使用时只要将设置相应位后运算出十进制值即可。如要设置最大吞吐量位(00001000),只需添加参数iy 8 即可。Total Length 16 -il Total length of IP packet including header and data,AntPower 版权所有© 2003 技术文章http://www.antpower.org第5 页共14 页measured in octets(指定IP 包的总长度,包括IP 头部分和数据部分,以8 位字节为单位,最长为65535)Identification 16 -iiUsed to help reassembled fragmented packets(指定IP包的标识号,用来帮助重新组装分段的IP 包)-ifr 1 bit: reserved, should be 0-ifd 1 bit: don't fragment(可指定-ifd x,下可为0、1 或r) Flags 3-ifm 1 bit: more fragmets(可指定-ifm x,下可为0、1 或r)Fragment offset 13 -ifWhere in the reconstructed datagram this fragmentbelongs, measured in 64bit words starting from 0(以8字节长度为单位,指定段偏移量)Time to Live 8 -itNumber of routers the packet can pass through beforebeing discarded(值的范围从0 到255,指定TTL,表示该包可通过的路由器的数目,用于防止包在循环路径上无休止地传递)Protocol 8 -ipProtocol associated with the data. See iana for anuptodate list of assigned numbers(用于定义IP 包内部封装的上层协议的协议号,如TCP 为6,可在IANA的网站上http://www.iana.org/assignments/protocol-numbers获得最新的协议号表)Header checksum 16 -icChecksum of the IP header data (with checksum set tozero)(可指定IP 首部校验和的值,通常由SENDIP 自动生成,不指定该参数,除非要发出带有错误校验和的包)Source Address 32 -is Duhh...(源地址,以点分十进制方式表示)Destination Address 32 -id Cabbage(目的地址,以点分十进制方式表示)Options Variable -io...No options are required. Any number can be added. Seebelow for details(定义各种IP 选项,如果定义了IP选项,则前面的IP 头的长度值要包括IP 选项的长度,不带IP 选项时,该值为20,带IP 选项时,可设定该值,如果要故意制造不匹配的包,可不符合规范。)如果有IP 选项,还可指定IP 选项的值,SENDIP 支持的IP 选项如下表所示。NameSendIPoptionRFC Copy Class NumberType(seeabove)Length(0 notpresent)DescriptionEOL -ioeol 791 0 0 0 0 0Used as padding if needed(使用该选项后,会自动在IP 头中未用到的位补0)NOP -ionop 791 0 0 1 1 0Do nothing. Often used as paddingso the next option starts on a 32 bitAntPower 版权所有© 2003 技术文章http://www.antpower.org第6 页共14 页boundaryRR -iorr 791 0 0 7 7 variableUsed to record the route of apacket.(记录包走过的每个路由器, 通常用法是: -iorr0f:ff.ff.ff.ff:10.0.0.234 –ioeol,其中iorr 表示记录路由,此时系统会自动将IP 选项号置为07,0f 表示指针,即记录的最后一个IP 地址的指针,系统会自动运算该IP 选项的长度)TS -iots 791 0 2 4 68 variableUsed to record the time at which apacket was processed by anintermediate systemLSR -iolsr 791 1 0 3 131 vairableLoose Source Route - let thesource specify the route for apacket.SID -iosid 791 1 0 8 136 4Rarely used, carries the SATNETstream identifier.SSR -iossr 791 1 0 9 137 variableStrict Source Route - same as LSR,but extra hops are not allowed.SEC791,11081 0 2 130 variable Security, rarely usedE-SEC 1108 1 0 5 133 variable Extended Security, rarely used通常在SENDIP 中指定IP 选项时,格式比较特别,下面我们以RR 记录路由选项为例介绍一下,如果要发送一个记录三个IP 的数据包,需要考虑如下,一是指定IP 头的长度要包括IP 选项的长度,而是要指定RR 记录路由选项的指针位置和IP 地址(本来是由系统自动记录IP 和更新指针位置,但现在必须手工指定),那么记录三个IP 包后,指针的位置应是3+4×3+1=16,造好后,数据包的格式应该如下:IP 头07 15 16 10.0.0.234(IP1) 20.0.0.234(IP2) 30.0.0.234(IP3) 00(ioeol) tcp20B RR len ptr 4bytes 4bytes 4bytes Ptr具体命令行如下:#sendip –d r64 –p ipv4 –iv 4 –ih 10 –il 128 –is 10.0.0.1 –id 30.0.0.1 –iorr 10:10.0.0.234:20.0.0.234:30.0.0.234–ioeol –p tcp –ts 1379 –td 23 –tt 8 30.0.0.1-ih 10 表示IP 头的长度为10×4 为40 个字节,去除标准的20 个字节长度,为IP选项预留为20 个字节-iorr 10:10.0.0.234:20.0.0.234:30.0.0.234 中第一个10 表示用16 进制表示的指针的位置,后面为用冒号分隔的三个用点分十进制表示的IP 地址-ioeol 表示用00 结束IP 选项,并用随机数填充后面未用的IP 头位置以上部分只是以RR 记录路由IP 选项为例,介绍了sendip 中指定IP 选项的方法,当然也可以根据自己的要求发送IP 选项不符合常规的数据包。其他的IP 选项与此雷同,但发送AntPower 版权所有© 2003 技术文章http://www.antpower.org第7 页共14 页前需要详细了解IP 选项的格式,才可正确发送。TCP 数据包的格式:根据TCP 数据包的格式,SENDIP 有如下命令行参数可以指定对应的TCP 数据包中参数的值。Field nameSize(bits)SendIPoptionDescriptionSource port 16 -tsSource port number for the connection(以十进制的方式指定TCP 原端口)Destination port 16 -tdDestination port number(以十进制的方式指定TCP 目的端口)Sequence number 32 -tnNumber of the first data octet in this packet. If SYN bit isset, this is the number of the first data octet of the streamtoo.(指定TCP 序列号,如果不指定则随机产生)Acknowledgmentnumber32 -taIf ACK bit is set, the next sequence number the sender isexpecting to receive.Data offset 4 -ttLength of TCP header in 32 bit words(指定TCP 头的长度,单位是以32bits 也就是4 字节为单位)Reserved 4 -trShould be 0. Note, rfc793 defines this as a 6 bit field, butthe last 2 are used by rfc2481 for ECN as below.Flags: ECN 1 -tfeFlags: CWR 1 -tfcECN extension flags, see rfc2481. (指定TCP 标志位,如果要打开哪一位,就在命令行参数中指定相应位的值,如要设置SYN 状态,只需在命令行加入-tfs 1 即可)Flags: URG 1 -tfu Urgent pointer is significant(同上)Flags: ACK 1 -tfa Acknowledgment field is significant(同上)Flags: PSH 1 -tfp Push function(同上)Flags: RST 1 -tfr Reset the connection(同上)Flags: SYN 1 -tfs Synchronize sequence numbers(同上)AntPower 版权所有© 2003 技术文章http://www.antpower.org第8 页共14 页Flags: FIN 1 -tff No more data from sender(同上)Window 16 -twNumber of octet starting from the one in theAcknowledgement field that the sender is willing toacceptChecksum 16 -tcChecksum of the TCP header (with checksum set to 0),data, and a psuedo-header including the source anddestination IP addresses, IP protocol field and a 16 bitlength of the TCP header and data.Urgent pointer 16 -tuIf URG bit is set, tHe offset of the last octet of urgent datain this packet.Options Variable -to...No options are required. Any number can be added. Seebelow for details.如果有TCP 选项,还可指定TCP 选项的值,SENDIP 支持的TCP 选项如下表所示。NameSendIPoptionRFC TypeLength (0notpresent)DescriptionEOL -toeol 793 0 0Used as padding if needed(用00 填充,表示TCP选项结束,把TCP 头后面的位置用随机数填充)NOP -tonop 793 1 0Do nothing. Often used as padding so the nextoption starts on a 32 bit boundaryMSS -tomss 793 2 4Specify the maximum recieve segment size of thesender as a 16 bit number. Only valid when SYN isalso setWSOPT -towscale 1323 3 3The window size should be leftshifted by the valueof the option (an 8 bit number). Only valid whenSYN is also set.SACKOK -tosackok 2018 4 2Selective Acknowledgement is permitted on thisconnectionSACK -tosack 2018 5 variableSelective Acknowledgement of non-contiguousblocks of data. The data in the option is a series of(left edge)-(right edge) pairs giving, respectively,the first sequence number the has been recieved andthe first that hasn't.TSOPT -tots 1323 8 10Timestamp. The first 4 bytes (TSval) are the timethat the packet was sent, the remaining 4 (TSecr)echo the TSval of a packet that was recieved. TSecris only valid when the ACK bit is set.从上表所示,可以看出,TCP 选项可能只有一个单字节参数,如-toeol 和-tonop,也可能由一个Type 号和一个length 长度以及该length 长度指定的字节数的数据组成的参数,使用时sendip 会自动运算length 的长度,所以,不能随意设定TCP 选项的长度,但需要设定TCP 选项的值。AntPower 版权所有© 2003 技术文章http://www.antpower.org第9 页共14 页在设定TCP 选项时,同样要考虑到TCP 头的长度要包括TCP 选项的长度。TCP 选项数据包的格式大致如下:Kind=3 Len=3 数据:移位数TCP 选项号TCP 选项长度TCP 选项数据占一个字节,总长度为三个字节具体命令行格式可参照如下格式:#sendip –d r64 –p ipv4 –iv 4 –ih 10 –il 128 –is 10.0.0.1 –id 30.0.0.1 –iorr 10:10.0.0.234:20.0.0.234:30.0.0.234–ioeol –p tcp –ts 1379 –td 23 –tt 8 –tfa 0 –tfs 1 –towscale 0 –toeol 30.0.0.1-towscale 0 :指设置TCP 选项3,长度为自动3,TCP 选项的值即移位数为0-toeol :表示TCP 选项结束,后面用随机数填满TCP 头因为用SENDIP 设定TCP 选项时,不能设定长度,所以,如果要设定长度不正确的包,还要借助其他工具,如SNIFFER,用SNIFFER 抓到SENDIP 发送的包后,再将对应的TCP选项的长度改为不规则的值即可。根据前面介绍的内容,我们已经基本可以掌握用SENDIP 发送各种协议数据包的方法,当然我们还可以利用他发送各种不符合标准的数据包,如校验和错误、长度不正确、状态位不正确等各种我们需要的数据包,在使用时,建议与SNIFFER 搭配使用,以验证SENDIP发出的包是否正确,进行有针对性的测试。2.2. NESSUS 工具NESSUS 是一个非常庞大的工具,它可以提供功能完善的安全扫描服务,还可以提供全面的发包功能,用以构造各种格式的网络通信包。本篇只关注NESSUS 的发包功能。NESSUS 由两个部分组成,一部分是服务器,通常运行在POSIX 系统如LINUX/UNIX系统中,负责扫描和攻击,并收集数据,另一部分是客户端,可以运行在LINUX/UNIX 系统或WINDOWS 系统中,负责接收和显示数据。如果只是用来发包,则只需要服务端即可。NESSUS 有专门的维护网站,可以随时到http://www.nessus.org网站下载最新的源代码,并获得全面的帮助。目前,NESSUS 最新的版本为2.0.8a。2.2.1. NESSUS 安装方法安装NESSUS 前要知道NESSUS 可能需要的支撑软件包,一个是GTK,通常POSIX系统下的NESSUS 客户端需要GTK,如果你的系统安装了GTK,则必须确保安装了gtk-config 程序,可到ftp://ftp.gimp.org/pub/gtk/v1.2 网站下载最新的GTK 程序,如果只在LINUX/UNIX 系统下安装服务端,则可以不需要GTK 包;另一个是OPENSSL 包,如果希望客户端和服务端的通信采用SSL 方式,则需要OPENSSL 包,可到http://www.openssl.org/下载最新的OPENSSL 包,OPENSSL 包是可选的。NESSUS 有三种安装方法:第一种是利用LINUX 下的LYNX 工具直接从网上安装,这种方法很容易,但安全性低,在此不予详细介绍,可到NESSUS 网站上获取相关信息。第二种方法是使用NESSUS 提供的nessus-installer.sh 工具,直接安装,这种方法简单且安全性比较高。第三种方法是获取源码包,然后分别编译再进行安装。下面分别介绍第二种和第三种方法。AntPower 版权所有© 2003 技术文章http://www.antpower.org第10 页共14 页2.2.1.1. 采用nessus-installer.sh 方式安装从NESSUS 网站下载最新的nessus-installer.sh 文件到本地LINUX 目录,然后执行#sh nessus-installer.sh系统会自动安装NESSUS 到你的系统中,中间会需要你提供相关的提示信息,一直按回车即可。2.2.1.2. 采用源码包方式安装如果采用源码包方式进行安装,需要下载四个软件包,并按顺序进行安装。四个软件包分别如下:nessus-librarieslibnaslnessus-corenessus-plugins安装时必须按顺序安装这四个软件包。安装前,我们必须获得上面所说的四个软件包,目前版本为2.0.8a:nessus-libraries-x.x.tar.gzlibnasl-x.x.tar.gznessus-core.x.x.tar.gznessus-plugins.x.x.tar.gz然后开始进行安装。1. 安装nessus-libraries#tar –xzvf nessus-libraries-x.x.tar.gz#cd nessus-libraries-x.x#./configure#make#make install2. 安装libnasl-x.x.tar.gz (执行与上面相同的操作)3. 安装nessus-core.x.x.tar.gz(执行与上面相同的操作)4. 安装nessus-plugins.x.x.tar.gz (执行与上面相同的操作)5. 如果使用的是LINUX 系统,必须确保/usr/local/lib 路径在/etc/ld.so.conf 文件中,如果是SOLARIS 系统, 必须执行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :/usr/local/lib 命令。6. 执行ldconfig 命令7. 如果不想或不能使用GTK 的客户端,可强制使用命令行方式,这时,在执行第三步编译nessus-core 时,可以使用如下命令:#tar –xzvf nessus-libraries-x.x.tar.gz#cd nessus-libraries-x.x#./configure --disable-gtk#make#make installAntPower 版权所有© 2003 技术文章http://www.antpower.org第11 页共14 页执行以上命令后,NESSUS 就已经安装在您的系统中了。2.2.2. NESSUS 的发包方法NESSUS 通常采用脚本方式控制发出的包,下面我们以发送圣诞老人攻击包为例,来介绍如何利用NESSUS 发送数据包。圣诞老人包是通过发送TCP Flag 中同时有SYN 和FIN 标志的数据包,穿透防火墙,来达到攻击的目的。为使用NESSUS 发送攻击包,首先要定义一个脚本,在LINUX 下,执行vi sendp 命令,输入如下内容:srcaddr=this_host(); 注:自动获取当前主机的IP 地址ip = forge_ip_packet( ip_v : 4, 注:IP 协议版本为IPV4ip_hl : 5, 注:IP 头的长度为5×4=20 字节ip_tos : 0,ip_len : 40, 注:在这里输入实际的长度40,因为IP 头和TCP 头都为20ip_id : 0xABA,ip_p : IPPROTO_TCP, 注:内部数据包协议为TCPip_ttl : 255,ip_off : 0,ip_src : srcaddr); 注:可在此直接输入IPport = get_host_open_port(); 注:自动获取当前主机上的可用端口if(!port)port = 139; 注:如果没有可用端口,就自动使用139 端口tcpip = forge_tcp_packet( ip : ip, 注:表示IP 层协议采用前面定义的IP 协议包th_sport : port, 注:可在这里直接输入端口th_dport : port, 注:可在这里直接输入端口th_flags : TH_SYN|TH_FIN, 注:设置TCP 状态的SYN 和FIN 标志位th_seq : 0xF1C,th_ack : 0,th_x2 : 0,th_off : 5, 注:TCP 头的长度位5×4=20 字节th_win : 512,th_urp : 0);result = send_packet(tcpip,pcap_active:FALSE);编辑完上面的脚本后,保存退出,运行如下命令:#nasl –t 目的IP 地址测试脚本如:#nasl –t 10.0.0.227 sendpAntPower 版权所有© 2003 技术文章http://www.antpower.org第12 页共14 页通过Sniffer 抓包,就会发现有相应的圣诞老人包。在我的使用过程中,发现NESSUS 好像不支持发送带有IP 或TCP 选项的包。具体发包的参数可参考http://www.nessus.org/doc/nasl.html2.3. SNIFFER 工具用SNIFFER 发包时,有两种方式,一种是直接利用Packet Generator 工具,从0 开始用16 进制的方式造一个数据包,这种方法难度较高,因为要自己算出校验和,除非需要重现在网络上抓到的一个16 进制格式的数据包,另外一种方式是利用已经抓到的数据包修改一下,再发送出去,具体实现方法分别如下。2.3.1. 利用Packet Generator 直接造包在SNIFFER 中,选择Tools|Packet Generator 菜单,系统弹出窗口如下:按图中的红色框中的按钮,系统会弹出一个构造包内容的对话框,如下所示:AntPower 版权所有© 2003 技术文章http://www.antpower.org第13 页共14 页在上图中可输入包的内容,还可规定发包的个数和包的长度。2.3.2. 利用已抓的包发包利用已抓的包进行修改,可以避免大量的运算和输入,只需要更改自己需要更改的地方,然后发出去即可。如上图所示,按包的大致要求,用其他工具造好包后,用SNIFFER 抓包,或者直接将网络上的可疑包抓过来,然后,用鼠标邮件单击该包,弹出如上图所示的快捷菜单,从中选择Send Current Frame 菜单,系统就会弹出如下图所示的发包窗口:AntPower 版权所有© 2003 技术文章http://www.antpower.org第14 页共14 页按要求更改包的内容,即可发送。需要注意的是如果更改了IP 地址或其他头中的内容,则需要更新校验和,对MAC 或选项的更改不需要更改校验和。3. 总结通过对比前面的三种发包工具,我们发现每种工具都有自己的优点和缺点,SENDIP 比较短小而且功能较齐全,比较适合在日常测试中使用,SNIFFER 发包工具最自由,可以发出任何可能的数据包,NESSUS 工具功能比较全面,但在发包方面不如SENDIP,所以,建议如果是测试需要的话,应该采用SENDIP 和SNIFFER 相结合的方式,如果同时还要使用 扫描等其他功能,可以采用NESSUS 工具。
      tcpreplay linux内核自带的发包工具:pktgen
      发包长度大于1518的发包工具

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类