版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上一、 填空题1、2、3、4、二、简答题:1 常用的网络操作系统有哪些?各有什么特点?各适用于什么场合?答:目前主要存在以下几类网络操作系统: (1) Windows类:微软公司的Windows系统不仅在个人操作系统中占有绝对优势,它在网络操作系统中也是具有非常强劲的力量。这类操作系统配置在整个局域网配置中是最常见的,但由于它对服务器的硬件要求较高,且稳定性能不是很高,所以微软的网络操作系统一般只是用在中低档服务器中。 (2)NetWare类: NetWare操作系统仍以对网络硬件的要求较低(工作站只要是286机就可以了)而受到一些设备比较落后的中、小型企业,特别是学校
2、的青睐。且因为它兼容DOS命令,其应用环境与DOS相似,经过长时间的发展,具有相当丰富的应用软件支持,技术完善、可靠。NetWare服务器对无盘站和游戏的支持较好,常用于教学网和游戏厅。目前这种操作系统有市场占有率呈下降趋势。 (3)Unix系统:支持网络文件系统服务,提供数据等应用,功能强大,由AT&T和SCO公司推出。这种网络操作系统稳定和安全性能非常好,但由于它多数是以命令方式来进行操作的,不容易掌握,特别是初级用户。正因如此,小型局域网基本不使用Unix作为网络操作系统,UNIX一般用于大型的网站或大型的企、事业局域网中。UNIX网络操作系统历史悠久,其良好的网络管理功能已为广
3、大网络 用户所接受,拥有丰富的应用软件的支持。(4)Linux:这是一种新型的网络操作系统,它的最大的特点就是源代码开放,可以免费得到许多应用程序。目前也有中文版本的Linux,如REDHAT(红帽子),红旗Linux等。在国内得到了用户充分的肯定,主要体现在它的安全性和稳定性方面,它与Unix有许多类似之处。但目前这类操作系统目前使仍主要应用于中、高档服务器中。2、什么是曼彻斯特编码和差分曼彻斯特编码?其特点如何?答:曼彻斯特编码是将每一个码元再分成两个相等的间隔。码元1 是在前一个间隔为高电平而后一个间隔为低电平。码元0 则正好相反,从低电平变到高电平。这种编码的好处是可以保证在每一个码元
4、的正中间出现一次电平的转换,这对接收端的提取位同步信号是非常有利的。缺点是它所占的频带宽度比原始的基带信号增加了一倍。差分曼彻斯特编码的规则是若码元为 1,则其前半个码元的电平与上一个码元的后半个码元的电平一样;但若码元为 0,则其前半个码元的电平与上一个码元的后半个码元的电平相反。不论码元是10 或,在每个码元的正中间的时刻,一定要有一次电平的转换。差分曼彻斯特编码需要较复杂的技术,但可以获得较好的抗干扰性能。3、在socket编程时如何获取本机的名字?如何获取IP地址?socket编程gethostname(),它返回你程 序所运行的机器的主机名字。然后你可以使用 gethostbynam
5、e() 以获得你 的机器的 IP 地址。4、Select能处理哪些事件?简述Select的工作原理。select()可以提供类似windows中的消息驱动机制,实现对I/O的管理。通过调用select函数可以确定一个或多个套接字的状态,判断套接字上是否有数据,或者能否向一个套接字写入数据,或者出现意外。目的是防止应用程序在套接字处于阻塞模式中时,在一次I/O绑定调用(如send或recv)过程中,被逼进入“阻塞”状态;同时防止在套接字处于非阻塞模式中时,产生WSAEWOULDBLOCK错误。除非满足事先用参数规定的条件,否则select函数会再进行I/O操作时阻塞。Select工作原理:每来一
6、个请求则把s给select,继续等待下一个请求。来数据时select里copy一个套接字,来处理缓冲区数据(这个过程很耗时),因当时的条件所限制select里只能放64个套接字,也就是说并发最大量为64. 一个线程处理接受,另一个进程处理套接字处理数据5、OSI/RM分为几层?TCP/IP分为几层?它们之间的对应关系如何?答:(1)OSI 和 TCP/IP 的相同点是二者均采用层次结构,而且都是按功能分层。(2)OSI和TCP/IP的不同点: O SI 分七层,自下而上分为物理层、数据链路层、网络层、运输层、会 话层、表 示层和应用层,而 TCP/IP分四层:网 络接口层、网 间网层( IP)
7、、传 输层( TCP)和应用层。6、TCP/IP协议簇中的应用层提供哪些应用?各个应用分别通过哪个传输层协议来传送?(1)网络终端协议( Telnet ),用于实现互联网中远程登陆功能; ( 2 )文件传输协议( FTP ,file transfer protocol ),用于实现互联网中交互式文件传输功能; ( 3 )简单邮件传输协议( SMTP simple mail transfer protocol ),用于实现互联网中邮件传送功能; ( 4 )域名系统( DNS, domain name system ),用于实现互联网设备名字到 IP 地址映射的网络服务; ( 5 )超文本传输协议
8、( HTTP, byper text transfer protocol ),用于目前广泛使用的 Web 服务; ( 6 )路由信息协议( RIP, routing information protocol ),用于网络设备之间交换路由信息; ( 7 )简单网络管理协议( SNMP, simple network file system ),用于管理和监视网络设备; ( 8 )网络文件系统( NFS, network file system ),用于网络中不同主机间的文件共享。三、综合题 1下列报文是从以太网上拦截下来的报文(不包括同步序列和CRC校验),请分析: (1)这是以太刚帧还是802
9、.3帧? (2)使用的是什么网络协议(IPX、IP、ARP、RARP)? (3)划分出帧头、网络层报头、传输层报头和数据部分。 (4)对各层报头中的一些关键域加以说明。 00 80 ad 18 5d 8e 00 d0 f8 00 03 6c 08 00 45 00 00 28 55 05 40 00 80 06 ee aa c0 a8 00 89 ca 6c 2b 82 04 0f 00 50 01 46 45 ca 07 bc 14 00 50 10 22 38 bf 5l 00 00 47 45 54 20 2f ba 注:上面的数据帧不包含前导码、帧定界符和校验和。 答:(1) 这是以太
10、网帧。(2) 使用的是IP协议。(3) 00 80 ad 18 5d 8e 00 d0 f8 00 03 6c 08 00是帧头;45 00 00 28 55 05 40 00 80 06 ee aa c0 a8 00 89 ca 6c 2b 82 是IP头,也叫网络层头。04 0f 00 50 01 46 45 ca 07 bc 14 00 50 10 22 38 bf 5l 00 00 是TCp头,也叫传输层头。47 45 54 20 2f ba 是数据部分。(4)关键域说明2、计算可以存在多少个A类、B类和C类网络?在每类网络中可以有多少台主机?解:1)A 类网中,网络号占七个bit,
11、则允许用的网络数为2 的7 次方,为128,但是要除去0 和127 的情况,所以能用的最大网络数是126,第一个网络号是1,最后一个网络号是126。主机号占24 个bit, 则允许用的最大主机数为2 的24 次方,为,但是也要除去全0 和全1 的情况,所以能用的最大主机数是。2) B 类网中,网络号占14 个bit,则能用的最大网络数为2 的14 次方,为16384,第一个网络号是128.0,因为127 要用作本地软件回送测试,所以从128 开始,其点后的还可以容纳2 的8 次方为256,所以以128 为开始的网络号为128.0128.255,共256 个,以此类推,第16384 个网络号的计
12、算方法是:16384/256=64128+64=192,则可推算出为191.255。主机号占16 个 bit, 则允许用的最大主机数为2 的16 次方,为65536,但是也要除去全0 和全1 的情况,所以能用的最大主机数是65534。3)C 类网中,网络号占21 个bit, 则能用的网络数为2 的21 次方,为,第一个网络号是 192.0.0 , 各个点后的数占一个字节,所以以 192 为开始的网络号为192.0.0192.255.255,共256*256=65536,以此类推,第 个网络号的计算方法是:/65536=32192+32=224,则可推算出为223.255.255。主机号占8 个
13、bit, 则允许用的最大主机数为2 的8 次方,为256,但是也要除去全0 和全1 的情况,所以能用的最大主机数是254。四、编程题,说明其功能回头想一想我们上面说的原理,我们要做的事情有几件: 1. 把置于混杂模式。2. 捕获数据包。3.分析数据包。 注:下面的源代码取至Chad Renfro的Basic Packet-SnifferConstruction from the Ground Up一文中 /*Tcp_sniff_2.c*/ 1.#include 2.#include 3.#include 4.#include 5.#include 6.#include 7.#include 8
14、.#include 9.#include "headers.h" #define INTERFACE "eth0" /*Prototype area*/ 1 0 int Open_Raw_Socket(void); 11 int Set_Promisc(char *interface,intsock); 12 int main() 13int sock,bytes_recieved,fromlen; 14.char buffer65535; 15.struct sockaddr_in from; 16.struct ip *ip; 17.struct t
15、cp *tcp; 18.sock = Open_Raw_Socket(); 19. Set_Promisc(INTERFACE,sock); 20. while(1) 22. 23. fromlen = sizeof from; 24. bytes_recieved = recvfrom(sock,buffer,sizeofbuffer,0,(struct sockaddr *)&from,&fromlen); 25. printf("nBytes received :%5dn",bytes_recieved); 26. printf(&qu
16、ot;Source address :%sn",inet_ntoa(from.sin_addr); 27. ip = (struct ip *)buffer; /*See if this is a TCP packet*/ 28. if(ip->ip_protocol = 6) 29. printf("IP header length :%dn",ip->ip_length); 30. printf("Protocol :%dn",ip->ip_protocol); 31. tcp = (struct tcp *)(buffe
17、r +(4*ip->ip_length); 32. printf("Source port :%dn",ntohs(tcp->tcp_source_port); 33. printf("Dest port :%dn",ntohs(tcp->tcp_dest_port); 34. 35. 36. 37 int Open_Raw_Socket() 38. int sock; 39. if(sock = socket(AF_INET,SOCK_RAW,IPPROTO_TCP) < 0) /*Then the socket was not
18、 created properly and must die*/ 40. perror("The raw socket was not created"); 41. exit(0); 42. ; 43. return(sock); 44. 45 int Set_Promisc(char *interface,int sock ) 46. struct ifreq ifr; 47. strncpy(ifr.ifr_name,interface,(interface)+1); 48. if(ioctl(sock,SIOCGIFFLAGS,&ifr) = -1))
19、 /*Could not retrieve flags for the interface*/ 49. perror("Could not retrive flags for the interface"); 50. exit(0); 51. 52. printf("The interface is : %sn",interface); 53. perror("Retrieved flags from interface successfully"); 54. ifr.ifr_flags |= IFF_PROMISC; 55. if
20、(ioctl (sock,SIOCSIFFLAGS,&ifr) = -1 ) /*Could not set the flags on the interface */ 56. perror("Could not set the PROMISC flag:"); 57. exit(0); 58. 59. printf("Setting interface : %s : to promisc",interface); 60. return(0); 61. /*EOF*/ 上面这段程序中有很详细的注解,不过我想还是有必要说一说,首先第10行-
21、intOpen_Raw_Socket(void);是我们的自定义函数,具体内容如下: 37 int Open_Raw_Socket() 38. int sock; 39. if(sock = socket(AF_INET,SOCK_RAW,IPPROTO_TCP) < 0) /*Then the socket was not created properly and must die*/ 40. perror("The raw socket was not created"); 41. exit(0); 42. ; 43. return(sock); 44. 第39行
22、 if(sock = socket(AF_INET,SOCK_RAW,IPPROTO_TCP) < 0) 这里我们调用了socket函数,使创建了了一个原始,使之收到TCP/IP。 接下来第11行-int Set_Promisc(char *interface,intsock),这也是我们的自定义函数,目的是把置于混杂模式,具体内容如下: 45 int Set_Promisc(char *interface,int sock ) 46. struct ifreq ifr; 47. strncpy(ifr.ifr_name,interface,(interface)+1); 48. if(
23、ioctl(sock,SIOCGIFFLAGS,&ifr) = -1)) /*Could not retrieve flags for the interface*/ 49. perror("Could not retrive flags for the interface"); 50. exit(0); 51. 52. printf("The interface is : %sn",interface); 53. perror("Retrieved flags from interface successfully"); 54. ifr.ifr_flags |= IFF_PROMISC; 55. if (ioctl (sock,SIOCSIFFLAGS,&ifr) = -1 ) /*Could not set the flags on the interface */ 56. perror("Could not set the PROMISC flag:"); 57. exit(0); 58. 59. printf("Setting interface : %s : to promisc",interface); 60. return(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋小学人教版(新教材)数学二年级上册第二单元1~6的表内乘法应用题学困生易错题专项练习题含答案
- 保险业务管理与保险客户服务模拟试题
- 保险理赔员资格考试保险消费者权益保护法模拟试题
- 注册营养师考试专业知识题库及答案(2026郑州)
- 保险财务管理山大本科考试题库及答案
- 四川雅安市宝兴县事业单位考试题库历年公共基础知识真题及答案汇
- 立法学综合模拟测试卷及参考答案2026年
- 2026年医保结算业务经办试题(附答案)
- 基本公共卫生服务项目考试试题及答案
- 2026年护理值班、交接班制度模拟试题(含答案)
- 昭通市2026年市直事业单位公开选调工作人员(42人)笔试参考题库及答案解析
- 中证信用增进股份有限公司招聘笔试题库2026
- 小学六年级少先队建队日活动方案课件
- ISO9001-2026《质量管理体系-要求》正文与附录整合版(雷泽佳编辑-2026年9月)
- 重症医学科进修汇报
- 山东青岛华通国有资本投资运营集团有限公司招聘笔试真题2025
- 工厂内部5s巡查制度
- GB/T 46588-2025精细陶瓷粉体压实性能的测定
- 脊柱解剖课件教学
- tb-10314-2021《邻近铁路营业线施工安全监测技术规程》内容解析
- 苗木培育及示范林抚育投标方案(技术方案)
评论
0/150
提交评论