- 攻击者使用无效IP地址,利用TCP连接的三次握手过程,连续发送会话请求,使受害主机处于开放会话的请求之中,直至连接超时,最终因耗尽资源而停止响应。这种攻击被称为
A. DNS欺骗攻击
B. DDoS攻击
C. SYN Flooding攻击
D. 重放攻击
- DNS欺骗攻击:DNS(Domin Name Sever)是域名服务器,作用是把某一台主机发过来地址解析成目标地址的IP地址,再发回给主机,主机拿着这个IP地址去访问。而DNS解析的过程如下:1.拿到地址,去访问权威服务器,拿到com域名权威服务器IP地址,比如A;2.然后向com域名权威服务器询问XXX.com子域DNS服务器的地址,比如B;3.最后向XXX.com子域服务器询问www.XXX.com的IP地址,比如C,把此时的IP地址C返回给主机,主机拿着C去访问。DNS欺骗攻击就是在第三步的时候冒充子域DNS服务器给了一个假的IP地址,如D,最后主机拿着D去访问了。
- DDoS攻击:Dos攻击叫拒绝服务攻击,如向一台服务器发送大量的IP数据报,使服务器要花很多时间处理所接收到的数据报,导致合法用户被拒绝服务。
- SYN Flooding攻击:和TCP的三次握手过程有关。三次握手过程大概是:一、客户端发送SYN给服务器,此时服务器内部会建立请求控制块;二、服务器响应SYN/ACK给客户端;三、客户端收到SYN-ACK之后向服务器发送ACK,服务器收到最后一个握手ACK报文后,控制块会转换成为正式的连接控制块。如果迟迟未收到最后的那个ACK报文,服务器会通过定时器重发SYN-ACK,直至超时,销毁请求控制块;SYN Flooding攻击是通过伪造的IP地址,大量的向服务器发送SYN报文,服务器不断的申请资源建立控制块,从而大量占用资源直至资源耗尽,使正常请求服务变慢,或者完全停止服务。
- 重放攻击:重复的会话请求就是重放攻击,可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器。
- A,B两台机器都正常工作,B机器未监听任何端口.如果A机器向B机器80端口发送SYN包,会收到何种类型的回包?
A. RST包
B. ACK包
C. FIN包
D. 无回应
RST包用来强制关闭TCP链接。
什么时候发送RST包:
- 建立连接的SYN到达某端口,但是该端口上没有正在监听的服务。
- TCP收到了一个根本不存在的连接上的分节。
- 请求超时。 使用setsockopt的SO_RCVTIMEO选项设置recv的超时时间,接收数据超时时,会发送RST包。
- awk里的内置变量NF指的是
A. 以指定分隔符号作为分隔的列数
B. AWK处理文件的个数
C. 单个输入文件记录的行数
D. 所有输入文件记录的行数
考点:Linux
awk是行处理器,通常用来格式化文本信息,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,
awk处理过程: 依次对每一行进行处理,然后输出
awk 的内置变量 NF、NR、FNR、FS、OFS、RS、ORS
- NF 字段个数,(读取的列数)
- NR 记录数(行号),从1开始,新的文件延续上面的计数,新文件不从1开始
- FS 输入字段分隔符,默认是空格
- FNR 读取文件的记录数(行号),从1开始,新的文件重新从1开始计数
- OFS 输出字段分隔符 默认也是空格
- RS 输入行分隔符,默认为换行符
- ORS 输出行分隔符,默认为换行符
- 堆排序的额外空间复杂度是()
A. O(n)
B. O(logn)
C. O(1)
D. 视情况而定
堆排序构建堆的时间复杂度是O(n);
重建堆的时间复杂度是O(nlogn);
最好,最坏,平均时间复杂度是O(nlogn);
空间复杂度是:O(1),仅用一个用来交换的暂存单元,属于原地排序。
- 给定 <div id="a" style="float:left;"><div style="width: 100px"></div></div> <div id="b"><div style="width: 100px"></div></div>, div#a 和 div#b 的宽度分别是【100%即其父容器宽度】
A. 100%, 100%
B. 100px, 100%
C. 100%, 100px
D. 100px, 100px
- 以下代码的输出结果是
// counter.js let counter = 10; export default counter; // index.js import myCounter from "./counter"; myCounter += 1; console.log(myCounter);
A. 10
B. 11
C. Error
D. NaN
引入的模块是 只读 的: 不能修改引入的模块。只有导出他们的模块才能修改其值。
- 对字符串HI_KWAI中的字符进行二进制编码,使得字符串的编码长度尽可能短,最短长度为
A. 7
B. 14
C. 18
D. 22
- 统计字符出现个数
H 1
I 2
_ 1
K 1
W 1
A 1- 构造哈夫曼树
每个人的结果可能不一样,左标0,右标1- 得到每个字符对应编码
H 000
I 10
_ 001
K 010
W 011
A 11- 得到原字符串编码
HI_KWAI:000100010100111110
共18位
- 无向图G有20条边,有4个度为4的顶点,6个度为3的顶点,其余顶点度小于3,则G最多有多少个顶点
A. 14
B. 16
C. 18
D. 20
总度数=边数乘以2=20乘2=40
剩余的度数=总度数-4乘4-6乘3=6
想要顶点最多,应该是一度就分配给一个顶点吧。所以是4+6+6=16顶点
- 3的方幂及不相等的3的方幂的和排列成递增序列{1,3,4,9,10,12,13…},则数列第100项是
A. 975
B. 976
C. 981
D. 982
第1位,1的二进制为001,第1位数为3的0次方(1)
第2位,2的二进制为010,第2位数为3的1次方(3)
第3位,3的二进制为011,第3位数为 3的0次方+3的1次方(4)
…
第100位,100的二进制为1100100,第100位为 3的6次方+3的5次方+3的平方(981)
- 最长递增子序列(LIS)问题是指,在一个给定的数值序列中,找到一个子序列,使得这个子序列元素的数值依次递增,并且这个子序列的长度尽可能地大。
比如{2,1,4,2,3,7,4,7,19} 的LIS是 {1,2,3,4,7,19},长度是6。
考虑大小为N的数组,获取其LIS的最小时间和空间复杂度分别为:
A. N2,N2
B. NlogN,N2
C. NlogN,NlogN
D. NlogN,N