概述
通讯协议习题整理
- 1.IP地址块为211.168.15.192/26、211.168.15.160/27和211.168.15.128/27三个地址块经聚合后可用地址数为()?
- 2.交换机攻击的常见方式:
- 3.将一个C类网络划分为20个子网,最适合的子网掩码是多少?
- 4. 局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是 。B
- 5.能够PING通同网段的节点, 但却PING不通其他网段的所有节点的最可能的原因是
- 6.主机甲和主机乙新建一个TCP 连接,甲的拥塞控制初始阈值为 32KB,甲向乙始终以 MSS=1KB 大小的段发送数据,并一直有数据发送;乙为该连接分配 16KB 接收缓存,并对每个数据段进行确认, 忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未发送超时 的情况下,经过 4 个 RTT 后,甲的发送窗口是(A)。
- 7.上网的时候,访问某个网页却突然出现了某个运营商的网页(如联通、电信)。出现此问题的可能的原因是?()
- 8.PING是基于什么协议? C
- 9.TCP套接字中不会阻塞的是哪种操作?D
- 10 下面对于Host文件描述正确的是?C
- 11.假设在x86平台上,有一个int类型的变量,在内存中的内部由低到高分别是0x12,0x34,0x56,0x78,当通过网络发送该数据时,正确的发送顺序是:
- 12.下列不可能是子网掩码的是:D
- 13.某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有26台计算机,子网掩码为?
- 14.下面关于synflood攻击的说法, 错误的是(B)
- 15.当我们在局域网内使用ping www.nowcoder.com时,哪种协议没有被使用?
- 16.以下哪个ip不和10.11.12.91/28处于同一个子网--D
- 17. 下列哪个IP地址可以分配给一台计算机?--D
- 18.攻击者采用某种手段,使用户访问某网站时获得一个其他网站的IP地址,从而将用户的访问引导到其他网站,这种攻击手段称为?
- 19.下列有关Socket的说法,错误的是?B
- 20.IP地址中哪个类默认有最多的可用地址?A类
- 21.关于ARP表,下列描述正确的是?
- 22.属于网络112.10.200.0/21的地址是(D)
- 23.HTTPS采用什么协议实现安全网站访问?
- 24.下列关于地址转换的描述,错误的是--B
- 25.已知IP地址,计算子网掩码,默认网关、网络地址等
- 26linux 系统中一个端口能够接收TCP链接的数量的理论上限是65535*65535
1.IP地址块为211.168.15.192/26、211.168.15.160/27和211.168.15.128/27三个地址块经聚合后可用地址数为()?
A 126 B 62 C 128 D 68
解析:
地址聚合无非是找出它们相同的部分…将两个分配的IP地址块最后一部分换算成二进制(因为只有最后一部分不相同),之后可得出新的子网掩码(子网掩码中相同的部分用1表示,不同的部分用0表示):
211.168.15. 11000000
211.168.15. 10100000
211.168.15. 10000000
可得聚合地址块为211.168.15. 10000000,即211.168.15. 128
掩码是IP二进制前面相同的位数,由于从 1~25位三个子网完全相同,所以经过聚合后的地址为211.168.15. 128/25
所以可用地址为:2^(32-25)-2=126
2.交换机攻击的常见方式:
*
1.VLAN 跳跃攻击
*
2.生成树攻击
*
3.MAC表泛洪(广播)
*
4.ARP攻击
*
5.VTP攻击(是VLAN中继协议,也被称为虚拟局域网干道协议)VLAN同步技术
3.将一个C类网络划分为20个子网,最适合的子网掩码是多少?
解析:
对于C类地址来说,前24位为网络号,后8位为主机号,
划分子网就是从网络的主机号借用若干位作为子网号,将2级IP地址变为3级IP地址,
IP = {<网络号><子网号><主机号>};2`4<20<2^5;
因此至少要5位表示网络号;
子网掩码中的1对应于IP地址中原来二级地址中的24位网络号加上新增加的5位子网号;
子网掩码中的0对应于现在的3位主机号
11111111 11111111 11111111 11111000=255.255.255.248
4. 局域网的网络地址192.168.1.0/24,局域网络连接其它网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是 。B
A route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
B route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255 metric 1
C route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1
D route add default 192.168.1.0 netmask 172.168.1.1 metric 1
(1)路由信息组成部分:1.目的主机的网络地址 2.下一跳的地址 3.子网掩码
(2)-net 后面跟的是目标网络,gw就是gateway(网关入口)就是你从哪个网关去到那个目标网络。
5.能够PING通同网段的节点, 但却PING不通其他网段的所有节点的最可能的原因是
A: 本机网关设置错误
B: 本机没有正确设置DNS
C: 对方运行的是不同的操作系统
D: 二层交换机故障
正确选项: A
解析:
A:ping是TCP/IP协议族的一部分,其属于网络层协议。主要是用来检测网络是否通畅。如果要ping其他网段,则需要设置网关。
B:和DNS没有关系, DNS设置错会影响访问公网服务器的域名, 而不会影响内部子设备是否ping通
C:ping命令是跨操作系统的, windows主机能够ping通Linux主机
D:二层交换机如果出现故障那么同网段主机则不会ping通
6.主机甲和主机乙新建一个TCP 连接,甲的拥塞控制初始阈值为 32KB,甲向乙始终以 MSS=1KB 大小的段发送数据,并一直有数据发送;乙为该连接分配 16KB 接收缓存,并对每个数据段进行确认, 忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未发送超时 的情况下,经过 4 个 RTT 后,甲的发送窗口是(A)。
A.1KB
B.8KB
C.16KB
D.32KB
解析:发送窗口的值=min[接收窗口 拥塞窗口],当经过4个RTT之后,接收窗口的值变为16-1-2-4-8=1,所以发送窗口的值变为1;
7.上网的时候,访问某个网页却突然出现了某个运营商的网页(如联通、电信)。出现此问题的可能的原因是?()
A DNS劫持
B DDoS攻击
C MAC地址欺骗
D 伪造DHCP服务器
DNS劫持又称 域名劫持
,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。
8.PING是基于什么协议? C
A TCP
B IP
C ICMP
D UDP
解析: TCP、UDP属于传输层,ICMP 、IP属于网络层协议,而ICMP主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器 无法按当前的传输速率转发 数据包 等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol8bit)的值=1. ping是一种电脑网络工具,用来测试数据包能否通过IP协议到达特定主机。ping的运作原理是向目标主机传出一个ICMP echo@要求数据包,并等待接收echo回应数据包。程序会按时间和成功响应的次数估算丢失数据包率(丢包率)和数据包往返时间(网络时延,Round-tripdelay time)
9.TCP套接字中不会阻塞的是哪种操作?D
A read
B write
C accept
D bind
解析: TCP的套接字 = IP + 端口号 套接字有三种:1. 流式套接字( SOCK_STREAM );2: 数据报套接字( SOCK_DGRAM );3.原始套接字( SOCK_RAW ) 基于 TCP 的 socket 编程是采用的流式套接字。 分为以下步骤:
1 :加载套接字库,创建套接字 (WSAStartup()/socket()) ;
2 :绑定套接字到一个 IP 地址和一个端口上(bind()) ;
3 :将套接字设置为监听模式等待连接请求 (listen()) ;
4:请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字 (accept()) ;
5 :用返回的套接字和客户端进行通信(send()/recv()) ;
6 :返回,等待另一连接请求;
7 :关闭套接字,关闭加载的套接字库 (closesocket()/WSACleanup()) 。
此外:当应用进程调用 write时,内核从应用进程的缓冲区中拷贝所有数据到套接口的发送缓冲区。如果套接口的发送缓冲区容不下应用程序的所有数据(或是应用进程的缓冲区大于套接口发送缓冲区,或是套接口发送缓冲区还有其他数据),应用进程将被挂起(睡眠),即可看为阻塞。
同理,如果某个进程对一个阻塞的TCP套接口调用这些输入函数(比如read)之一,而且该套接口的接收缓冲区中没有数据可读,该进程将被投入睡眠,直到到达一些数据。
首先,服务器端启动进程,调用Socket创建一个基于TCP协议的流套接字描述符。
其次,服务进程调用bind命名套接字,将套接字描述符绑定到本地地址和本地端口上。
再次,服务器端调用listen,开始侦听客户端的Socket连接请求。
接下来阻塞,直到收到了客户端的connect请求,调用accept进行相应。 因此,不阻塞bind和listen
10 下面对于Host文件描述正确的是?C
A 这个文件是批处理文件,用来指定域名的访问IP
B 一个DNS域名解析服务器文件,用于解析域名对应的IP地址
C 作用是网址域名与其对应的IP地址建立一个关联"数据库"
D 当用户输入网址后,系统首先到DNS服务器中寻找对应的IP地址,如果不存在会到Host文件中确定最终访问地址
解析:Hosts是一个没有扩展名的系统文件,windows下存在,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。
11.假设在x86平台上,有一个int类型的变量,在内存中的内部由低到高分别是0x12,0x34,0x56,0x78,当通过网络发送该数据时,正确的发送顺序是:
0x78,0x56,0x34,0x12
解析:
小端法(Little-Endian)就是低位字节排放在内存的低地址端(即该值的起始地址),高位字节排放在内存的高地址端;
大端法(Big-Endian)就是高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端;UDP/TCP/IP协议规定:把接收到的第一个字节当作高位字节看待,这就要求发送端发送的第一个字节是高位字节;而在发送端发送数据时,发送的第一个字节是该数值在内存中的起始地址处对应的那个字节,也就是说,该数值在内存中的起始地址处对应的那个字节就是要发送的第一个高位字节(即:高位字节存放在低地址处);由此可见,多字节数值在发送之前,在内存中因该是以大端法存放的;所以说,网络字节序是大端字节序;
12.下列不可能是子网掩码的是:D
A.255.224.0.0
B.255.255.240.0
C.255.255.255.248
D.255.255.255.250
子网掩码必须是连续的1;250对应的是11111010,并不连续,
13.某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有26台计算机,子网掩码为?
2的M次方大于等于N。其中M是划分子网时要借的位数。N是要划分的子网数。
将需求代入公式,M=3,C类IP默认的掩码为24位,再从主机位中借来3位,就是27位。二进制表示如下:
11111111.11111111.11111111.11100000 将之转换为十进制就是255.255.255.224
14.下面关于synflood攻击的说法, 错误的是(B)
A. 服务端由于连接队列被占满而不能对外服务
B. 不但能攻击TCP服务, 还可以攻击UDP服务
C. 大量连接处于SYN_RECV状态
D. 使用硬件防火墙可以一定程度上抵御攻击
解析: synflood攻击(即SYN Flood攻击) SYN洪水攻击, 是基于有连接的, 因此它只能攻击TCP服务, 不能攻击UDP服务
SYN洪水攻击问题出现在TCP连接的三次握手中. 假设一个用户向服务器发送了SYN报文后突然死机或掉线,
那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK的报文的, 即造成第三次握手无法完成.
这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端), 并等待一端时间后丢弃这个未完成的连接, 这段时间的长度一般称为 SYN
Timeout. 一般来说这个时间是分钟的数量级(大概为30秒-2分钟);
一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题, 但如果有一个恶意的攻击者大量模拟这种情况,
服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源. 数以万计的半连接, 即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,
何况还要不断对这个列表中的IP进行SYN+ACK的重试. 实际上如果服务器的TCP/IP栈不够强大, 最后的结果往往是堆栈溢出崩溃.
即使服务器端的系统足够强大, 服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小).
此时从正常客户的角度看来, 服务器失去响应, 这种情况称作: 服务器收到了SYN Flood攻击
15.当我们在局域网内使用ping www.nowcoder.com时,哪种协议没有被使用?
A. ICMP
B. ARP
C. DNS
D. TCP
1、因为ping的话 后面跟的是地址,所以要先将域名转换为ip地址,即用到了DNS
2、获取到ip地址后,在数据链路层是根据MAC地址传输的,所以要用到ARP解析服务,获取到MAC地址
3、ping功能是测试另一台主机是否可达,程序发送一份ICMP回显请求给目标主机,并等待返回ICMP回显应答,(ICMP主要是用于ip主机、路由器之间传递控制信息,控制信息是指网络通不通,主机是否科大)
4、TCP的话,不涉及数据传输,不会用到
16.以下哪个ip不和10.11.12.91/28处于同一个子网–D
A 10.11.12.85/28
B 10.11.12.88/28
C 10.11.12.94/28
D 10.11.12.97/28
本题中IP地址前部分都是10.11.12,因此只用关注后面部分,
10.11.12.91/28中91可表示为01011011,前4位为网络号,后四位为主机号, 位于同一子网只用区分主机号即可,故包含10.11.12.91的子网范围是(01010000~01011111)即(80-95),
17. 下列哪个IP地址可以分配给一台计算机?–D
A.256.1.3.4
B.197.3.11.0
C.199.5.89
D.11.15.33.235
互联网的网络地址分为A~E五类,其中 A类地址:0.0.0.0 ~ 127.255.255.255 主机号是后24位
B类地址:128.0.0.0 ~ 191.255.255.255 主机号是后16位
C类地址:192.0.0.0 ~223.255.255.255 主机号是后8位
D类地址:224.0.0.0 ~ 239.255.255.255 后28位为多播组号
E类地址:240.0.0.0 ~ 255.255.255.255 后27位待用
所以,A错。 主机号全为0的时候,表示一个网段
主机号全为1的时候,是一个指向网络的广播。所以B代表一个网段。
C的话,代表了一个直接相连的网络。D作为一个A类地址,是可以分配给一台计算机的。
18.攻击者采用某种手段,使用户访问某网站时获得一个其他网站的IP地址,从而将用户的访问引导到其他网站,这种攻击手段称为?
A.ARP欺骗攻击
B.重放攻击
C.暴力攻击
D.DNS欺骗攻击
ARP欺骗攻击: 分为对路由器ARP表的欺骗和对内网PC的网关欺骗。 第一种ARP欺骗的原理是——截获网关数据。 第二种ARP欺骗的原理是—伪造网关。
重放攻击:重放攻击(ReplayAttacks)又称重播攻击、回放攻击或新鲜性攻击(FreshnessAttacks)是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。
暴力攻击:暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名、密码),尝试所有的可能性破解用户的账户名、密码等敏感信息。攻击者会经常使用自动化脚本组合出正确的用户名和密码。
DNS欺骗攻击:DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。 如果可以冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址。
19.下列有关Socket的说法,错误的是?B
A.Socket用于描述IP地址和端口,是一个通信链的句柄
B.Socket通信必须建立连结
C.Socket客户端的端口是不固定的
D.Socket服务端的端口是固定的
socket 可以基于TCP 面向连接 也可以基于UDP无连接
在客户端程序里,实际上客户端用哪个端口发送数据是不固定,是由系统分配的,当然向服务器哪个端口发送是固定的
20.IP地址中哪个类默认有最多的可用地址?A类
A 类地址 8bit 网络号 + 24bit 主机号
B 类地址 16bit 网络号 + 16bit 主机号
C 类地址 24bit 网络号 + 8bit 主机号
D 类地址 多播地址
E 类地址 保留
21.关于ARP表,下列描述正确的是?
A.用于在各个子网之间进行路由选择
B.提供常用目标地址的快捷方式来减少网络流量
C.用于建立IP地址到MAC地址的映射
D.用于进行应用层信息的转换
ARP是地址解析协议,工作在网络层,简单语言解释一下工作原理。
1:首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2:当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机
IP地址,源主机MAC地址,目的主机的IP 地址。
3:当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4:源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。广播发送ARP请求,单播发送ARP响应
22.属于网络112.10.200.0/21的地址是(D)
A 112.10.224.0
B 112.10.198.0
C 112.10.217.0
D 112.10.206.0
解析: 21就是21个1的子网掩码,11111111.11111111.11111000.00000000
前21位为网络地址,后12位为主机地址,112对应前8位,10对应中间8位,此时已经有16位了,剩下5位表示200–11001000,因此最大的地址范围112–10–11001-111–11111111
结果为112.10.207.255
23.HTTPS采用什么协议实现安全网站访问?
HTTPS采用TLS协议和SSL证书实现安全网站访问, SSL(Secure Sockets Layer
安全套接层),及其继任者传输层安全(Transport Layer
Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
24.下列关于地址转换的描述,错误的是–B
A.地址转换解决了因特网地址短缺所面临问题
B.地址转换实现了对用户透明的网络外部地址的分配
C.使用地址转换后,对"IP包加长","快速转发"不会造成什么影响
D.地址转换内部主机提供一定的”隐私”
1.地址转换使多个内部私有地址对应一个外部公有地址,所以减少了外部IP地址的使用,解决了因特网地址短缺问题。 *
2.对用户透明是指:某一事物对用户不可见或用户没必要知道其存在。据1可知,内部的私有地址被转换成了一个公有地址,用户只有拿到这个公有地址才能访问因特网,此时用户原有的私有地址是什么已经不重要了。所以这个公有地址对用户是可见的、不透明的;用户没有必要在乎自己拥有的私有地址是什么,即内部的私有地址对用户是透明的。3.地址转换,只是IP地址的替换,不会影响其他事务。
4.网络访问只能由私网侧发起,公网无法访问私网主机。所以私网内部主机相对于外部主机是有”隐私“的
25.已知IP地址,计算子网掩码,默认网关、网络地址等
首先了解IP地址,A,B,C类地址
A类地址前8位为网络号,后24位为主机号 B类地址前16位为网络号,后16位为主机号 C类地址前24位为网络号,后8位为主机号
1.A类地址:1.0.0.0->126.0.0.0;
0.0.0.0和127.0.0.0保留
2.B类地址:128.1.0.0->191.254.0.0,
128.0.0.0和191.255.0.0保留
3.C类地址:192.0.1.0->223.255.254.0
192.0.0.0和223.255.255.0保留,想要判断当前网络属于哪类地址,也很简单。 判断前8位即可,小于126为A类,128-191之间为B类,192-223为C类
网络前缀就是193.6.7.0/24,这个24表示网络前缀,从左往右数前24位为当前网络的网络位,剩下8位为主机位,子网掩码就是网络位全为1;主机位全为0;求得子网掩码为11111111.11111111.11111111.11000000换算成10进制就是255.255.255.192
默认网关:默认网关地址是主机位除最后一位全置1后得到的,根据网络前缀24可知前24位为网络位,后8位为主机位, 该网络的默认广播地址是多少?
答案:193.6.7.255/24
解析:默认广播地址和默认网关地址可以一起记,因为默认广播地址就是主机位全为1,假如本题的网络前缀变成26,默认广播地址为193.6.7.00 111111 =193.6.7.63/26 该网络的网络地址是多少? 答案:193.6.7.0/24
解析:网络地址是IP地址与子网掩码转换成二进制数再相与运算得来的结果,与运算的规则:1&1 = 1; 1&0 = 0; 0&1 = 0;
0&0 = 0,也就是说只有两者都为1时结果才为1 私有ip地址范围:
1、A类地址范围【10.0.0.0—10.255.255.255】;
2、B类地址范围【172.16.0.0–172.31.255.555】;
3、C类地址范围【192.168.0.0—192.168.255.255】。
26linux 系统中一个端口能够接收TCP链接的数量的理论上限是65535*65535
接受端口:65535
发送端口:65535
那么 ip A --> ipB,组合起来有 65535*65535 ,
最后
以上就是霸气咖啡豆为你收集整理的关于HTTP、TCP、IP协议的习题的全部内容,希望文章能够帮你解决关于HTTP、TCP、IP协议的习题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复