面试复习.md

通过西电的在线 MOOC 学习网络安全:

计算机网络

三种工作方式:

单工:数据只能在一个方向上传输

半双工:数据可以在两个方向上传输,但是一次只允许数据在一个方向传输

全双工:允许数据同时在两个方向上传输

IPv4 三类地址:

见:https://tools.ietf.org/html/rfc3330

A类地址 1.0.0.1-126.255.255.254,第一段第一位二进制位以 0 开头,最后三段表示主机地址;

B类地址 128.1.0.1-191.255.255.254,第一段前两位二进制位为 10 开头,最后两段表示主机地址;

C类地址 192.0.1.1-223.255.255.254,第一段前三位二进制位为 110 开头,最后一段表示主机地址;

D 类地址(群播地址) ,第一段前四位为 1110 开头。

IP 协议中的生存时间:

生存时间(TTL,time-to-live)是Internet协议(IP)包中的一个值,它告知路由器该包是否在网络中时间过长而应该被丢弃。

双绞线的双绞原因:

绞合可以减少对相邻导线的电磁干扰。

关于 10BASE-T

10 代表数据传输率,BASE 基带传输,T 代表双绞线。F 为光纤

网络冲突:

IEEE802.3 协议采用 CSMA/CD 协议,一定会发生冲突;

802.4802.5 则不会。

路由选择协议:

RIP 协议:AS 内部的路由选择协议,采用距离向量算法,限制最大为 15 的跳度;

OSPF 协议:AS 内部的路由选择协议,采用 Dijkstra 路径选择算法;

BGP 协议:AS 之间的路由选择协议,同样使用距离向量算法,但是传输信息中包含了 AS-PATH,因此不会出现环路问题。

SOCKET 编程:

服务端代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from socket import *

HOST = 'localhost'
PORT = 21567
BUFFERSIZE = 1024
ADDR = (HOST, PORT)

tcpServerSocket = socket(AF_INET, SOCK_STREAM)
tcpServerSocket.bind(ADDR)  # 绑定地址(主机名,端口号)
tcpServerSocket.listen(5)  # 开始监听TCP

while True:
 print 'waiting for connection...'
 # 被动接受TCP客户端的请求到来,阻塞式
 tcpClientSocket, addr = tcpServerSocket.accept()
 print 'connected from:' + str(addr)

 while True:
     data = tcpClientSocket.recv(BUFFERSIZE)
     if not data:
         break
     # 发送TCP数据
     tcpClientSocket.send('%s' % data)
     tcpClientSocket.close()
tcpServerSocket.close()

客户端代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
from socket import *

HOST = 'localhost'
PORT = 21567
BUFFERSIZE = 1024
ADDR = (HOST, PORT)

tcpClientSocket = socket(AF_INET, SOCK_STREAM)
tcpClientSocket.connect(ADDR)  # 连接到服务器

while True:
 data = raw_input('>')
 if not data:
     break
 tcpClientSocket.send(data)
 data = tcpClientSocket.recv(BUFFERSIZE)
 if not data:
     break
 print data
tcpClientSocket.close()

码分多址通信(CDMA):

码分多址( Code Division Multiple Access,CDMA)是通过编码区分不同用户信息,实现不同用户同频、同时传输的一种通信技术。

https://blog.csdn.net/huanhuan_Coder/article/details/83012467

虚电路:

虚电路表示这只是一条 逻辑上的连接 ,分组都沿着这条逻辑连接按照存储转发方式传送,而 并不是真正建立了一条物理连接 。包括建立连接,传输数据,拆除连接三个阶段。建立连接之后就类似于专线,所以不存在路由选择

五层数据封装的名称:

  1. 应用层,Message,报文;
  2. 传输层,Segment,报文段;
  3. 网络层,Datagram,数据报;
  4. 链路层,Frame,帧;
  5. 物理层,Bits,比特。

以太网帧长度的限制:

在传统以太网中,有最小帧长度和最大帧长度的限制。

以太网的帧长度总是在一定范围内浮动,一般最大的帧长是 1518 字节,最小的帧长是 64 字节。在实际应用中,帧的大小是由设备的 MTU(最大传输单位)即设备每次能够传输的最大字节数自动来确定的。

网络协议的三要素:

语法 用来规定信息格式;数据及控制信息的格式、编码及信号电平等。

语义 用来说明通信双方应当怎么做;用于协调与差错处理的控制信息。

定时 (时序)定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是异步传输!

常见广域网:

几种常用的广域网公用电话交换网(PSTN)、分组交换网(X.25)、数字数据网(DDN)、帧中继(FR)、交换式多兆位数据服务(SMDS)和异步传输模式(ATM)。

波特率:

波特率,可以通俗的理解为一个设备在一秒钟内发送(或接收)了多少码元的数据。

局域网广播地址:

主机号为全 1,表示广播地址

TCP/UDP 常见端口的服务:

见:http://tool.oschina.net/commons?type=7 与 https://www.jianshu.com/p/048963e312bc

常见数据库所在端口:

mysqlsqlserver serversqlserver monitororaclepostgre sqloracle emctloracle xdboracle xdb ftp
33061433143415215432115880802100

TCP/IP 协议族以及其安全隐患

网络按范围分类:LAN、WAN。

计算机协议的三要素:语法、语义和协议。

协议数据封装:

1
FH---IH---TH---AH---DATA---FT

ARP 协议

ARP 协议的安全隐患,主要有三类:ARP 窃听、ARP 欺骗(ARP 污染,黑洞攻击)、GARP 滥用攻击。

ARP 协议安全隐患的防御技术,主要有四类:采用静态绑定的方式防止 ARP 欺骗(Windows & Linux 都可以使用 arp 命令操作其映射表)、采用 ARP 代理服务器、在网络设备上对 ARP 消息进行检测和控制、禁用 GARP 功能(主机可以选择性地忽略 GARP 消息)。

IP 协议

IP 协议的安全隐患,主要有三类:IP 窃听、IP 地址假冒攻击、IP 碎片攻击。

IP 协议的安全防御方法:入口过滤、出口过滤、IP 溯源。

TCP 协议

TCP 协议的特点:全双工连接、面向连接、可靠性、面向字节流的协议。

TCP 协议的安全隐患:SYN 泛洪攻击、ACK 泛洪攻击、序列号预测攻击、LAND 攻击(使服务器建立自连接)。

UDP 协议

UDP 协议的特点:无连接的协议、不可靠的协议、不保序协议。

UDP 协议的安全隐患:假冒、劫持、泛洪

HTTP 协议

HTTP 协议的特点:是一个基于请求与响应模式的、无状态的应用层协议;常基于 TCP 的连接方式;绝大多数 WEB 应用都是构建在 HTTP 协议之上。

HTTP 请求消息格式组成:请求行、消息报头、请求正文。

HTTP 相应消息格式组成:初始状态行、首部行、实体主体。

HTTP 协议的安全隐患,主要有两种攻击:钓鱼攻击和跨站脚本攻击。

隔离技术