• Java刷题day33


    1. 下面关于synflood攻击的说法,错误的是()

    A 服务端由于连接队列被占满而不能对外服务
    B 不但能攻击TCP服务,还可以攻击UDP服务
    C 大量连接处于SYN_RECV状态
    D 使用硬件防火墙可以一定程度上抵御攻击
    答案:B
    解析:SYN是TCP建立连接的同步序列编号,udp不建立连接,该攻击就无从发生

    2. A,B两台机器都正常工作,B机器未监听任何端口.如果A机器向B机器80端口发送SYN包,会收到何种类型的回包()

    A ACK包
    B FIN包
    C 不会收到回包
    D RST包
    答案:D
    解析:

    1. 端口未打开
      服务器程序端口未打开而客户端来连接。这种情况是最为常见和好理解的一种了。去 telnet 一个未打开的 TCP 的端口可能会出现这种错误。这个和操作系统的实现有关。在某些情况下,操作系统也会完全不理会这些发到未打开端口请求 。
      比如在下面这种情况下,主机 241 向主机 114 发送一个 SYN 请求,表示想要连接主机 114 的 40000 端口,但是主机 114 上根本没有打开 40000 这个端口,于是就向主机 241 发送了一个 RST 。这种情况很常见。特别是服务器程序 core dump 之后重启之前连续出现 RST 的情况会经常发生 。
      当然在某些操作系统的主机上,未必是这样的表现。比如向一台 WINDOWS7 的主机发送一个连接不存在的端口的请求,这台主机就不会回应 。

    2. 请求超时
      曾经遇到过这样一个情况 : 一个客户端连接服务器, connect 返回 -1 并且 error=EINPROGRESS 。 直接 telnet 发现网络连接没有问题。 ping 没有出现丢包。用抓包工具查看,客户端是在收到服务器发出的 SYN 之后就莫名其妙的发送了 RST 。
      比如像下面这样 :
      有 89 、 27 两台主机。主机 89 向主机 27 发送了一个 SYN ,表示希望连接 8888 端口,主机 27 回应了主机 89 一个 SYN 表示可以连接。但是主机 27 却很不友好,莫名其妙的发送了一个 RST 表示我不想连接你了 。
      后来经过排查发现,在主机 89 上的程序在建立了 socket 之后,用 setsockopt 的 SO_RCVTIMEO 选项设置了 recv 的超时时间为 100ms 。而我们看上面的抓包结果表示,从主机 89 发出 SYN 到接收 SYN 的时间多达 110ms 。(从 15:01:27.799961 到 15:01:27.961886 , 小数点之后的单位是微秒)。因此主机 89 上的程序认为接收超时,所以发送了 RST 拒绝进一步发送数据 。

    3. 提前关闭
      关于 TCP ,我想我们在教科书里都读到过一句话, 'TCP 是一种可靠的连接 ’ 。 而这可靠有这样一种含义,那就是操作系统接收到的来自 TCP 连接中的每一个字节,我都会让应用程序接收到。如果应用程序不接收怎么办?你猜对了, RST 。

    4. 在一个已关闭的 socket 上收到数据
      如果某个 socket 已经关闭,但依然收到数据也会产生 RST 。

    3. 下列哪个IP地址可以分配给一台计算机()

    A 256.1.3.4
    B 197.3.11.0
    C 199.5.89
    D 11.15.33.235
    答案:D
    解析:
    互联网的网络地址分为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的话,代表了一个直接相连的网络,不算一个IP地址。
    D作为一个A类地址,是可以分配给一台计算机的。

    4. 以下哪个IP不和10.11.12.91/28处于同一个子网()

    A 10.11.12.85/28
    B 10.11.12.88/28
    C 10.11.12.94/28
    D 10.11.12.97/28
    答案:D
    解析:
    10.11.12.0101 1011前28位不变,范围为10.11.12.01010000~10.11.12.01011111即10.11.12.80 ~10.11.12.95,可以看出D不在该范围内。

    5. 假设在x86平台上,有一个int型变量,在内存中的内部由低到高分别是:0x12,0x34,0x56,0x78当通过网络发送该数据时,正确的发送顺序是()

    A 0x12,0x34,0x56,0x78
    B 0x78,0x56,0x34,0x12
    C 0x34,0x12,0x78,0x56
    D 0x56,0x78,0x12,0x34
    答案:B
    解析:X86 系列 CPU都是 little-endian(小端) 的,所以int 型变量值为 0x78563412, 网络发送数据时,采用大段,先发送高位再发送低位

    6. 某学校获取到一个B类地址段,要给大家分开子网使用,鉴于现在上网设备急剧增多,管理员给每个网段进行划分的子网掩码设置为255.255.254.0,考虑每个网段需要有网关设备占用一个地址的情况下,每个网段还有多少可用的主机地址()

    A 509
    B 511
    C 512
    D 510
    答案:A
    解析:
    因为子网掩码为255.255.254.0,第三段最后一位置能用,第四段8个位置都能用,所以可用地址为2^9=512,除去全1和全0,然后还要减去网关设备占用一个地址,所以为509

    7. 下列哪个地址不可能是子网掩码()

    A 255.224.0.0
    B 255.255.240.0
    C 255.255.255.248
    D 255.255.255.250
    答案:D
    解析:
    子网掩码前面全是1,后面为0,必须是连续的
    224是1 1 1 0 0 0 0 0 0 可行
    240是1 1 1 1 0 0 0 0 0 可行
    248是1 1 1 1 1 1 0 0 0 可行
    250是1 1 1 1 1 1 0 1 0 不可行

    8. 当我们在局域网内使用ping www.nowcoder.com时,哪种协议没有被使用()

    A ICMP
    B ARP
    C DNS
    D TCP
    答案:D
    解析:
    1、因为ping的话 后面跟的是地址,所以要先将域名转换为ip地址,即用到了DNS
    2、获取到ip地址后,在数据链路层是根据MAC地址传输的,所以要用到ARP解析服务,获取到MAC地址
    3、ping功能是测试另一台主机是否可达,程序发送一份ICMP回显请求给目标主机,并等待返回ICMP回显应答,(ICMP主要是用于ip主机、路由器之间传递控制信息,控制信息是指网络通不通,主机是否科大)
    4、TCP的话,不涉及数据传输,不会用到

    9. 从浏览器打开 http://www.sohu.com ,TCP/IP协议族中不会被使用到的协议是()

    A SMTP
    B HTTP
    C TCP
    D IP
    答案:A
    解析:SMTP:简单邮件传输协议。只有发送邮件用到。
    网络层交换数据的IP协议,传输数据用TCP协议,接收HTML用了http协议。

    10. 某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有26台计算机,每个子公司在一个网段中,则子网掩码应设为()

    A 255.255.255.192
    B 255.255.255.128
    C 255.255.255.0
    D 255.255.255.224
    答案:D
    解析:一个子公司26台机器,2^5 = 32,刚好够用,所以IP地址最后8位里的后5位用作子网内区分的地址。
    前3位就是子网掩码了,即11100000,即224。
    选D,255.255.255.224

  • 相关阅读:
    Logrus 日志框架——自定义日志颜色
    【Gradle-13】SNAPSHOT版本检查
    CleanShot X for Mac v4.7 屏幕截图录像工具(保姆级教程,小白轻松上手,简单易学)
    数据结构第29节 后缀树和后缀数组
    模型(model)和扩散模型(diffusion)
    序列到序列学习(seq2seq)
    ShowDoc后台文件上传漏洞复现 CVE-2021-41745&CNVD-2020-49480
    【Rust光年纪】Rust 机器人学库全景:功能、安装与API概览
    剑指 Offer 62 圆圈中最后剩下的数字 Java
    log4j升级到log4j2 spring
  • 原文地址:https://blog.csdn.net/m0_52322019/article/details/126486302