-
网络层协议
-
ICMP(Internet Control Message Protocol)网络控制报文协议
1.ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网路安全具有极其重要的意义。 2.它属于网络层协议,主要用于主机和路由器之间传递控制信息,包括错误报告、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。 3.ping和tracert两个常用的网络管理命令就是利用ICMP协议来是实现的网路功能。 ping:用来测试网络可达性。 tracert:用来显示到达目标主机的路径。 3.ICMP就是一个“错误侦测与回报机制”,目的就是让我们能够检测网路的连线状态,也能确保连线的准确性。当路由器在处理一个数据包的过程中发生了意外,可以通过ICMP向数据包的源端报告有关的情况。
ICMP攻击: 1.利用操作系统规定的ICMP数据包最大容量不超过64kb上限这一规定,向主机发起“死亡之ping”攻击。 原理:如果ICMP数据包的尺寸大于64kb上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。(目前操作系统已经解决了这个漏洞,取消了发送ICMP数据包大小的限制) 但是,向目标主机长时间、连续、大量地发送ICMP数据包,也会使系统瘫痪。大量的ICMP数据包将会形成“ICMP”风暴,使得目标主机耗费大量的cpu资源处理,疲于奔命。 抵御方法: 1.在路由器上对ICMP数据包所占用的带宽进行限制,将ICMP占用的带宽限制在一定的范围内,这样即使有ICMP攻击,它所占用的带宽也是非常有限的。 2.在主机上设置ICMP数据包的处理规则,最好是设定拒绝所有的ICMP数据包。 设置ICMP数据包处理规则的方法也有两种,一种是在操作系统上设置包过滤,另一种实在主机上安装防火墙。通过防火墙抵御攻击。
-
IP(Internet Protocol)网际互连协议
IP的目的: 1.解决互联网问题,实现大规模、异构网络的互联互通; 2.分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。 IP只为主机提供一种无连接、不可靠、尽力而为的数据报文传输服务。
-
ARP协议
ARP协议即Address Resolution Protocol,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网上的所有主机,并接收返回信息,一次确定目标主机的物理地址;接收到返回的信息后,将该IP地址和物理地址存入到本机ARP缓存中并保留一段时间,下次请求时直接查询ARP缓存以节约资源。 地址解析协议是建立在网络中各个主机相互信任的基础上,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入到本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的消息无法准确到达真实IP的主机。这就构成了一个ARP欺骗。 ARP命令可以用于查询本机ARP缓存中IP地址和MAC地址的对应关系/添加或删除静态对应关系等。
-
RARP协议
-
IGMP协议
-
-
传输层协议
-
TCP(Transport Control Protocol)传输控制协议
TCP:一种面向连接的、保证可靠性的、基于字节流的传输层通信协议。 特点: 1.基于流的方式; 2.面向连接; 3.可靠通信方式; 4.在网络不佳时尽量降低系统由于重传带来的带宽开销; 5.数据分片; 6.到达确认; 7.超市重传; 8.失序处理; 9.重复处理; 10.数据校验; 11.流量控制;
建立连接:三次握手
断开连接:四次挥手
-
-
UDP(User Datagram Protocol)用户数据报协议
UDP:提供面向事务的无连接,不保证可靠性的网络传输协议。 特点: 无连接/不要求分组顺序到达/无检查校验/资源消耗小/处理速度快 吞吐量只受应用软件生成速率、传输的带宽、源端和终端主机性能的限制。 应用场景: 音频、视频、一些普通的数据(qq/即时通讯等)
-
应用层协议
-
HTTP(Hyper Text Transport Protocol)超文本传输协议
超文本传输协议:一个基于请求与响应,无状态的应用层协议,基于tcp/ip协议上的。用于从万维网(www)服务器传输超文本到本地浏览器的传送协议。 特点: 1.请求常用的方法:GET/POST/HEAD/PUT/DELETE等,每种方法请求的类型不同。 2.灵活:HTTP允许传输任何类型的数据对象。正在传输的类型由Content-Type加以标记。常用的有plain/json/xml等 3.无连接:限制每次连接时之处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。 4.无状态:HTTP协议是无状态协议,该协议对事物处理没有记忆能力。缺少状态意味着如果需要后续处理前面的信息则需要重传,这样可能导致每次连接传送的数据量增大。 5.支持B/S、C/S模式。 HTTP相应由四个部分组成,分别是:状态行、消息报头、空行、相应正文 示例: HTTP/1.1 200 OK Date: Fri, 22 May 2009 06:07:21 GMT Content-Type: text/html; charset=UTF-8 <html> <head></head> <body> <!--body goes here--> </body> </html> 状态码: 1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--要完成请求必须进行更进一步的操作 4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请求 http请求的过程: 1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接; 3、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器; 4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器; 5、释放 TCP连接; 6、浏览器将该 html 文本并显示内容; GET方法与POST方法的区别: GET:会有url的长度限制,get提交数据是明文显示子url上,可以通过浏览器缓存,代理日志,拿到相关的信息。 POST:不是通过url来传值,主要用来更新资源信息。 HTTP中的GET/POST/PUT/DELETE对应着增删改查。
-
HTTPS()
https不是一个单独的协议,而是在常规http协议上的实行加密连接。即在TCP和HTTP之间加入TLS(Transport Layer Security) SSL/TLS协议 SSL协议,是一种安全传输协议,TSL是SSL v3.0的升级版。 https传输速度慢/加解密需要耗费cpu的资源。 可以使用https2.0进行改善。 TLS/SSL加密方式: 1.对称加密:加密和机密用的密钥是一样的。 2.非对称加密: 私有密钥:一方保管 共有密钥:双方共有 RSA证书。 HTTP与HTTPS的区别: 1.HTTPS加密传输协议HTTP明文传输协议; 2.HTTPS需要用SSL证书HTTP用; 3.HTTPS比HTTP更加安全搜索引擎更友; 4.HTTPS标准端口443HTTP标准端口80; 5.HTTPS基于传输层HTTP基于应用层; 6.HTTPS浏览器显示绿色安全锁HTTP显示不安全;
-