常用网络协议

ICMP(Internet Control Message Protocol):

介绍

  • Internet控制报文协议,是tcp/ip下的一个子协议,
  • 用于在IP主机、路由器之间传递控制消息。
  • 位于网络层,

目的

  • 就是让我们能够检测网路的连线状况,也能确保连线的准确性

​ 使用icmp的命令:ping、tracert

  • 侦测远端主机是否存在,
  • 建立及维护路由资料,
  • 重导资料传送路径(ICMP重定向),
  • 资料流量控制。

​ ICMP攻击:

  • ping of death(死亡之ping)、ICMP风暴

​ 抵御方法:

  • 一种是在操作系统上设置包过滤,
  • 另一种是在主机上安装防火墙。

TCP(Transmission Control Protocol):

介绍

  • 传输控制协议,
  • 是一种面向连接的、可靠的、基于字节流的传输层通信协议
可靠性:TCP为了保证报文传输的可靠,
				就给每个包一个序号,
				同时序号也保证了传送到接收端实体的包的按序接收。
				然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);
				如果发送端实体在合理的往返时延(RTT)内未收到确认,
				那么对应的数据(假设丢失了)将会被重传。
				--超时重传和捎带确认机制

​ 特点:

  • 基于流的方式

  • 面向连接

  • 可靠通信方式

  • 在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销

建立连接:三次握手

  • 客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态

  • 服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态

  • 客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态

SYN FOOLD(泛洪攻击)

​ 工具:

  • kali中hping3

​ 原理:

  • 伪造IP,进行泛洪攻击,属于DDOS一种。
  • 一台主机构造一个假的IP不断向目标主机发送SYN包,
  • 由于目标主机无法找到目标地址返回ACK包,
  • 这样链接将一直不会被释放,
  • 直到累计到链接最大值而不能再创建新的链接,
  • 这样会大量消耗目标主机的cpu,
  • 使目标主机瘫痪,
  • 从而达成泛洪攻击。

UDP(User Datagram Protocol):

介绍

  • 用户数据包协议,
  • 一种无连接的传输层协议,
  • 提供面向事务的简单不可靠信息传送服务,

​ 常用的UDP端口号有:53(DNS)、69(TFTP)、161(SNMP),使用UDP协议包括:TFTP、SNMP、NFS、DNS、BOOTP。

​ 特点:

  • 无连接
  • 面向报文
  • 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
  • UDP信息包的标题很短,只有8个字节

ARP(Address Resolution Protocol)

介绍

  • 地址解析协议,
  • 是根据IP地址获取物理地址的一个TCP/IP协议,
  • 作用在局域网中。

​ 常用命令:

  • arp -a 查看缓存表中内容

  • arp -a IP 查看对应IP的缓存内容

arp欺骗:

​ 假设有两台主机A,B和网关C,设定B为攻击机,流程开始:B开始arp欺骗,首先B会向A不断发arp包,通告A,B是网关,那A就会将mac地址表中网关的mac地址修改为B的mac地址,然后反之,对网关发arp包,告诉网关 B是A ,那网关就会将mac地址表中A的mac地址修改为B的mac地址,这样就达成了arp欺骗,A所有访问外网的流量都会经过B,而且所有网关返回的A的流量也都会经过B,B就可以获取或修改A的重要信息。

​ kali中利用arpspoof进行arp断网攻击

arpspoof -i eth0 -t 192.168.1.106 192.168.1.1 (-i代表 kali的网卡 -t 两个地址都表示要攻击/欺骗的目标地址 )

​ kali中ettercap也可以进行arp攻击和欺骗


DHCP(Dynamic Host Configuration Protocol)

介绍

  • 动态主机设置协议,
  • 是一个局域网的网络协议,
  • 使用UDP协议工作

​ 作用:

  • 用于内部网或网络服务供应商自动分配IP地址
  • 给用户用于内部网管理员作为对所有计算机作中央管理的手段

三种分配IP地址机制:

  • 自动分配方式:

    • DHCP服务器为主机指定一个永久性的IP地址,
    • 一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,
    • 就可以永久性的使用该地址
  • 动态分配方式:

    • DHCP服务器给主机指定一个具有时间限制的IP地址,
    • 时间到期或主机明确表示放弃该地址时,
    • 该地址可以被其他主机使用
  • 手工分配方式:

    • 客户端的IP地址是由网络管理员指定的,
    • DHCP服务器只是将指定的IP地址告诉客户端主机

DHCP攻击:

  • 工具:kali中dhcpx

原理:

  • 一台主机不断请求DHCP服务器,
  • 不断要求获取IP,
  • 就会将DHCP服务器中的所有IP地址都占用,
  • 然后这台主机就可以冒充DHCP服务器,
  • 达到中间人攻击

DNS(Domain Name System)

介绍

  • 域名系统,将域名和IP地址相互映射的一个分布式数据库,
  • 能够使人更方便地访问互联网,
  • DNS使用UDP端口53

​ DNS缓存表:

  • 将解析过的地址存到缓存表

​ DNS劫持:

  • 在网站js中写入路由器的地址,
  • 在网站打开时,不断请求ip,进行弱口令破解,
  • 一旦成功,就会篡改dns,将地址改为hacker的地址,
  • 从而达到dns劫持,使得网站都不可信.

​ DNS解析:

当我们访问一个网站时,会把对应的域名解析成IP地址,但解析IP地址会有三种情况,

  • 第一种:
DNS服务器的缓存表可以直接把对应的域名解析成IP地址,
  • 第二种:
如果迭代到根服务器中都没有查到,
那么就会查找NS记录,
通过NS记录访问到NS服务器,
再由NS服务器返回对应的IP地址,
  • 第三种,
DNS缓存表中没有记录,也没有对应的NS记录,
那就可以尝试去使用默认的ns.xxx.com,
去找对应的DNS服务器,
最后通过DNS服务器返回对应的IP。
(如果已得知被解析区域的DNS服务器,那么NS记录就没有作用了) 

注:SOA记录了该区域里的权威服务器,这个记录也是指向了DNS服务器,此记录只能指向一台DNS,类似于NS记录。

nslookup命令:

  用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题 
  nslookup domain [dns-server] -- 查询一个域名的A记录。 
  set type=ns -- 设置类型为NS记录 
  server.com -- 将com设为本地DNS 
  ls xxx.com -- 查看域名的内容 
  nslookup –d [其他参数] domain [dns-server] -- 只要在查询的时候,加上-d参数,即可查询域名的缓存
  server.com -- 将com设为本地DNS 
  ls xxx.com -- 查看域名的内容 
  nslookup –d [其他参数] domain [dns-server] -- 只要在查询的时候,加上-d参数,即可查询域名的缓存

你可能感兴趣的:(网路安全阶段)