【C/C++笔试练习】DNS劫持、三次握手、TCP协议、HTTPS、四次挥手、HTTP报文、拥塞窗口、POP3协议、UDP协议、收件人列表、养兔子

文章目录

  • C/C++笔试练习
  • 选择部分
    • (1)DNS劫持
    • (2)三次握手
    • (3)TCP协议
    • (4)HTTPS
    • (5)四次挥手
    • (6)HTTP报文
    • (7)拥塞窗口
    • (8)POP3协议
    • (9)UDP协议
    • (10)TCP协议
  • 编程题 day34
    • 收件人列表
    • 养兔子

C/C++笔试练习

选择部分

(1)DNS劫持

  上网的时候,访问某个网页却突然出现了某个运营商的网页(如联通、电信)。出现此问题可能的原因是?( )

  A.DNS劫持
  B.DDoS攻击
  C.MAC地址欺骗
  D.伪造DHCP服务器

  答案:A

  1.DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。

  2.DDoS攻击:分布式拒绝服务(DDoS:Distributed Denialof Service),攻击指借助于客户/服务器技术将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

  3.MAC地址欺骗:利用mac欺骗,阻止局域网内任意电脑使用网络。

  4.伪造DHCP服务器:本质上是DHCP欺骗攻击,将真的DHCP服务器的资源ip资源耗尽然后部署假的DHCP服务器,让主机向假的DHCP服务器请求。

  

(2)三次握手

  TCP建立连接的三次握手中,第二次握手发送的包会包含的标记,最正确的描述是()

  A.ACK
  B. SYN,ACK
  C.SYN,PSH
  D.SYN

  答案:B

在这里插入图片描述

  

(3)TCP协议

  当使用TCP协议编程时,下列问题哪个是必须由程序员考虑和处理的()

  A.乱序数据包的重传
  B.数据传输过程中的纠错
  C.网络拥塞处理
  D.发送数据的格式和应用层协议

  答案:D

  1.TCP本身是可靠传输的协议,支持重传,纠错,网络拥塞处理等等。

  2.TCP本身是面向字节流的协议,对于发送的有效载荷的格式并不是很关心,由应用层协议来处理发送数据的格式,应用层协议由程序猿来考虑和处理(tcp粘包的问题也是如此)。

  

(4)HTTPS

  现在有很多网站都开始选择HTTPS作为默认的协议,HTTPS的用途是()

  A.可以加速页面的加载,提高响应速度
  B.可以让服务器端主动推送消息到客户端
  C.可以确保传输数据的安全性和防篡改
  D.为了提高浏览器兼容性

  答案:C

  1.HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。

  2.对使用HTTP传输的数据使用SSL进行加密传输,第三者即使从网络当中获取数据包内容,也会由于没有加密的密钥而导致无法解析传输的内容,从而达到加密的效果。

  

(5)四次挥手

  TCP断开连接的四次挥手中,第四次挥手发送的包会包含的标记,最正确的描述是()

  A.FIN
  B. FIN,PSH
  C.ACK
  D.FIN,ACK

  答案:C

在这里插入图片描述

  

(6)HTTP报文

  某浏览器发出的HTTP请求报文如下:
在这里插入图片描述

  下列叙述中,错误的是()

  A.该浏览器请求浏览index.html
  B. Index.html存放在www.test.edu.cn上
  C.该浏览器请求使用持续连接
  D.该浏览器曾经浏览过www.test.edu.cn

  答案:C

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  

(7)拥塞窗口

  主机甲和主机乙新建一个TCP连接,甲的拥塞控制初始阈值为32KB,甲向乙始终以MSS=1KB大小的段发送数据,并一直有数据发送;乙为该连接分配16KB接收缓存,并对每个数据段进行确认,忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未发送超时的情况下,经过4个RTT后,甲的发送窗口是()

  A.1KB
  B. 8KB
  C.16KB
  D.32KB

  答案:A

  甲方的发送窗口值=min[接收窗口,拥塞窗口]
在这里插入图片描述

  1.当前甲的4次发送数据、我们需要站在慢开始的角度来考虑,拥塞窗口的大小成指数增长,后一次是前一次的2倍。

  2.甲方发送的数据大小取决于 接受窗口和拥塞窗口的较小值。

  3.1MSS是1KB。

  当经过4个RTT(报文往返时间)之后,接收窗口的值变为16-1-2-4-8 =1所以此时,发送窗口的值为1。

  

(8)POP3协议

  通过POP3协议接收邮件时,使用的传输层服务类型是()

  A.无连接不可靠的数据传输服务
  B.无连接可靠的数据传输服务
  C.有连接不可靠的数据传输服务
  D.有链接可靠的数据传输服务

  答案:D

  1.POP3即邮件协议版本3,是TCP/IP 协议族中的一员)。

  2.该协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。

  3.属于应用层协议,传输层协议使用TCP协议。

  

(9)UDP协议

  下列关于UDP协议的叙述中,正确的是()

  Ⅰ提供无连接服务
  Ⅱ提供复用/分用服务
  Ⅲ通过差错校验,保障可靠数据传输

  A.仅Ⅰ
  B.仅Ⅰ、Ⅱ
  C.仅Ⅱ、Ⅲ
  D.Ⅰ、Ⅱ、Ⅲ

  答案:B

  UDP是不可靠,无连接,面向数据报的协议,在协议头部当中有16字节的校验和,可以校验数据在传输过程当中是否失真,但是并不保证可靠。

  传输层分用和复用就是把网络层提供的host-to-host传输服务扩展到运行于计算机上的应用进程间的传输服务也就是点对点的传输,这里的点可以理解为端口。

  分用是把运输层segment中的信息发送给正确的socket的服务。

  复用是把所有socket中的数据集中并加头信息封装,然后发送到网络层的服务。

  

(10)TCP协议

  主机甲与主机乙之间已建立一个TCP连接,双方持续有数据传输,且数据无差错与丢失。若甲收到1个来自乙的TCP段,该段的序号为1913、确认序号为2046、有效载荷为100字节,则甲立即发送给乙的TCP段的序号和确认序号分别是()

  A.2046、2012
  B. 2046、2013
  C.2047、2012
  D.2047、2013

  答案:B

在这里插入图片描述

            

编程题 day34

收件人列表

收件人列表

  解题思路:先接收到一个数字,代表接下来是多少组数据,逐个接收每个名字,如果名字中没有’,‘或者’ '则直接输出,否则在改名字前后拼接""“再输出,除过最后一个名字外,每个名字之后都有一个”, ",该组用例处理完成后换行。

#include<iostream>
#include<string>
using namespace std;

int main() 
{
    int n = 0;
    while (cin >> n) 
    {
        string str;
        getchar();//数字后面有个换行符不要忘了
        for (int i = 0; i < n; i++) 
        {
            getline(cin, str);
            if (str.find(' ') != str.npos || str.find(',') != str.npos)
                cout << '"' << str << '"';
            else
                cout << str;
            (i + 1 != n) ? cout << ", " : cout << endl; 
            //最后一个不用输出逗号空格按要求输出换行
        }
    }
    return 0;
}

  

养兔子

养兔子

  解题思路:本题的兔子第二天就开始下小兔了,所以这个是从第二项开始的斐波那契数列。前90组的数据恰好还在long long的范围内,所以不需要高精度,直接long long求解。

#include <iostream>
using namespace std;

/*int main() 
{
    int n;
    while (cin >> n) 
    {
        long long f0 = 1, f1 = 1;
        long long ret = 1;
        for (int i = 2; i <= n; ++i) 
        {
            ret = f0 + f1;
            f0 = f1;
            f1 = ret;
        }
        cout << ret << endl;
    }
    return 0;
}*/
/
// 优化:题目已经说明了,n的最大取值为90,则直接算出前90项的斐波那契额数即可
#include <iostream>
#include <cstdio>

int main() 
{
    long long n[91] = { 1, 2 };
    for (int i = 2; i <= 90; i++) 
    {
        n[i] = n[i - 1] + n[i - 2];
    }
    int d;
    while (std::cin >> d) 
    {
        printf("%lld\n", n[d - 1]);
    }
}

            

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/625839.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网优干货:ACP交付详解版(3)

1. 全局指标分析 点击GIS页面左侧的 按钮&#xff0c;展开指标树&#xff0c;可查看各项优化目标的当前值、预测值和差值。 拖动指标树中的某个指标到GIS页面&#xff0c;可呈现该指标的整体分布。GIS页面共有两个半屏&#xff0c;用户可以做优化前后相同指标的对比&#xff0c…

从CSDN搬家到微信公众号

博主将会在微信公众号里不断输出精品内容&#xff0c;陪伴大家共同成长。 如果你对博主的经历感兴趣&#xff0c;或者对博主的IT技术感兴趣&#xff0c;欢迎关注我的微信公众号&#xff0c;阅读我的技术文章&#xff0c;免费获取各种IT资源。也可以加我的微信成为我的好友&…

【Javaer学习Python】 1、Django安装

安装 Python 和 PyCharm 的方法就略过了&#xff0c;附一个有效激活PyCharm的链接&#xff1a;https://www.quanxiaoha.com/pycharm-pojie/pycharm-pojie-20241.html 1、安装Django # 安装Django pip install Django# 查看当前版本 python -m django --version 5.0.62、创建项…

ollama离线部署llama3(window系统)

首先介绍下ollama是什么&#xff1f;Ollama是一个开源的大型语言模型服务工具&#xff0c;旨在为用户提供本地化的运行环境&#xff0c;满足个性化的需求。具体来说&#xff0c;Ollama是一个功能强大的开源框架&#xff0c;可以简化在Docker容器中部署和管理大型语言模型&a…

24深圳杯C题18页高质量论文+可执行代码+图表

比赛题目的完整版思路可执行代码数据参考论文都会在第一时间更新上传的&#xff0c;大家可以参考我往期的资料&#xff0c;所有的资料数据以及到最后更新的参考论文都是一次付费后续免费的。注意&#xff1a;&#xff08;建议先下单占坑&#xff0c;因为随着后续我们更新资料数…

2024年5月中,AITOP100平台活动专区迎来六场AI大赛盛事!

AITOP100平台的活动专区在2024年5月中旬更新的6场AI大赛来了&#xff01; 随着人工智能技术的飞速发展&#xff0c;AI设计已经成为了创新与创意的新领域。2024年5月中旬&#xff0c;由腾讯研究院、剪映、站酷等互联网大厂主办的6场AI设计大赛震撼来袭&#xff0c;为广大AI设计…

文本到语音的学习笔记:从Docker开始

1.docker 是什么意思&#xff1f; Docker 是一种开源的容器化平台&#xff0c;它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中&#xff0c;然后可以在任何支持Docker的系统上运行这个应用&#xff0c;而不必担心环境差异导致的问题。 以下是Docker的一些关键特…

【接口测试_03课_-接口自动化思维梳理及Requests库应用】

一、通过代码&#xff0c;实现Jmeter 1、项目要放在虚拟环境里面&#xff0c;解释器要使用虚拟环境的 上面是虚拟环境&#xff0c;下面是系统环境。2选一 venv目录 查看当前虚拟环境已存在的依赖包 2、安装Requests依赖包 1&#xff09;安装命令 pip install requests 如果…

Windows Server 2022 环境下WEB和DNS服务器配置方法

目录 实验名称&#xff1a;WEB和DNS服务器配置实验目的实验原理&#xff1a;主要设备、器材&#xff1a;实验内容&#xff1a;配置本地WEB站点配置本地DNS服务器 实验名称&#xff1a;WEB和DNS服务器配置 实验目的 掌握 Windows Server 2022 环境下WEB服务器配置方法 掌握 Wi…

RT Thread + CLion环境搭建

RT Thread CLion环境搭建 0.前言一、准备工具1. Env RT Thread v5.12.CLion安装3.编译及下载工具 二、新建Env工程三、CLion配置四、运行测试 0.前言 事情的起因是最近在使用RT Thread Studio时&#xff0c;发现默认的 rtt 内核版本及交叉编译链版本都过于陈旧&#xff0c;于…

【科研】常用的实验结果评价指标(2) —— MAE 是什么? !

了解MAE 提示&#xff1a;先说概念&#xff0c;后续再陆续上代码 文章目录 了解MAE前言一、MAE 基本概念1. MAE 是什么&#xff1f;2. MAE 的起源3. MAE 的计算公式 二、MAE的适用场景是什么&#xff1f;三、MAE 的劣势&#xff0c;或 不适用于那些场景或者数据&#xff1f;四、…

2024成都现代职业教育及装备展6月1日举办 免费参观

2024成都现代职业教育及装备展6月1日举办 免费参观 同期举办&#xff1a;中国西部职业教育产教融合高峰论坛 主办单位&#xff1a; 中国西部教体融合博览会组委会 承办单位&#xff1a;重庆港华展览有限公司 博览会主题&#xff1a;责任教育 职教兴邦 组委会&#xff1a;…

ssti学习(1)

一、成因&#xff1a; 渲染模板时&#xff0c;没有严格控制对用户的输入。&#xff08;使用了危险的模板&#xff0c;导致用户可以和flask程序进行交互&#xff09; flask是一种基于web开发的web服务器&#xff0c;如果用户可以和flask交互&#xff0c;则可以执行eval、syste…

嵌入式学习-通用定时器

简介 框图介绍 时钟选择 计数器部分 输入捕获和输出比较框图 嵌入式学习全文参考&#xff08;小向是个der&#xff09;做笔记&#xff1a;https://blog.csdn.net/qq_41954556/article/details/129735708

Runes 生态一周要览 ▣ 2024.5.06-5.12

1、香港「Runes Asia 2024」符文峰会之行圆满结束。 2、BEVM 宣布首次大规模 RUNES 空投现已结束&#xff01;符文桥即将上线。 3、来自 Book of Blob 的交互式视听信息铭刻了第一个 Epic Sat 在 coinex 上市交易。 4、 Binance Research 发布了对 Runes 的报告。 5、HOPE•…

re--SMC

参考&#xff1a;http://t.csdnimg.cn/g7fUY 参考&#xff1a;http://t.csdnimg.cn/qi3q5 简介 SMC&#xff0c;即Self Modifying Code&#xff0c;动态代码加密技术&#xff0c;指通过修改代码或数据&#xff0c;阻止别人直接静态分析&#xff0c;然后在动态运行程序时对代…

嵌入式Linux:编译和使用Protobuf库

目录 1、开发环境和工具 2、安装和编译Protobuf、Protobuf-C库 3、编写和编译proto文件 4、修改makefile文件 5、测试示例 6、参考资料 Protobuf&#xff08;Protocol Buffers&#xff09;是由 Google 开发的一种轻量级、高效的结构化数据序列化方式&#xff0c;用于在不同应用…

SSM【Spring SpringMVC Mybatis】——Mybatis(二)

如果对一些基础理论感兴趣可以看这一期&#x1f447; SSM【Spring SpringMVC Mybatis】——Mybatis 目录 1、Mybatis中参数传递问题 1.1 单个普通参数 1.2 多个普通参数 1.3 命名参数 1.4 POJO参数 1.5 Map参数 1.6 Collection|List|Array等参数 2、Mybatis参数传递【#与…

单区域OSPF实验

实验目的&#xff1a; 理解OSPF的基本概念。掌握单曲于OSPF的配置掌握OSPF邻居状态的解读掌握通过Cost控制OSPF选路的方法掌握OSPF认证的配置方法 一、基础配置&#xff1a; 搭建实验拓扑图&#xff1b; 配置路由器接口的IP地址以及配置环回地址待后续使用 &#xff08;1&a…

webjars学习

webjars介绍 官网&#xff1a;WebJars - Web Libraries in Jars github: WebJars GitHub 文档&#xff1a;WebJars - Documentation WebJAR 是一个用于管理Web前端依赖的工具。它允许开发者将特定的客户端库&#xff08;如JavaScript、CSS等&#xff09;打包成JAR&#xf…