1. IP中TTL值能够给我提供什么信息?
2. IP头部中标志、13位偏移、32位源IP地址、目标IP、IP数据包格式,有多少字节
3. IP头部中的16位标识是什么?
4. MSS 和MTU分别有多大?
5. 怎么获取路由IP信息?PING、NSLOOKUP、TRACERT、域名解析
6. HTTPS是如何防止中间人劫持、明文传输的?
7. ARP收复包不会确认身份?
网络基础
IP中的TTL值:
- TTL值的作用:TTL(Time To Live) 是IP数据包的一个字段,用来表示数据包在网络中可以生存的时间,或者说数据包在网络中经过的路由器数目的最大值。
每经过一个网络设备(如路由器),TTL值就会减1,直到TTL值减为0时,数据包就会被丢弃。 - TTL值与入侵检测:黑客可以通过发送ICMP Echo请求(ping)来探测目标主机的操作系统类型。不同的操作系统通常设置不同的TTL初始值。
例如,Linux系统的TTL值通常为64,而Windows系统的TTL值通常为128。
因此,通过观察返回的TTL值,黑客可以推测目标主机的操作系统类型。 - 防止利用TTL值:为了防止这种基于TTL值的探测,系统管理员可以修改操作系统的TTL值设置,使得黑客难以准确判断操作系统类型。
IP数据包格式的内容分别为?
IP报头中的16位标识、3位标志和13位片偏移字段共同构成了IP数据报的分片机制,该机制确保了数据在网络中的可靠传输和重新组装。
当IP数据包的大小超过*MTU(最大传输单元)*时,就需要进行分片。
- 16位标识(Identification):用于标识一个IP数据报。 当一个IP数据报太大,需要分片时,这个数据报的所有分片都将具有相同的标识值。
- 3位标志(Flags):标志位则用于标识是否允许分片,以及当前分片是否还有后续的分片。
- DF(Don’t Fragment)位:当设置为1时,表示数据报在传输过程中不能被分片。如果数据报在传输路径上的某个点的大小超过了MTU,并且DF位被设置为1,那么该数据报将被丢弃,并向发送方发送一个ICMP错误消息。
- MF(More Fragments)位:当设置为1时,表示该分片后面还有其他的分片。如果MF位被设置为0,则表示这是原始数据报的最后一个分片
- 13位偏移(Fragment Offset):13位偏移字段用于指示分片在原始数据包中的位置,
- 32位源IP地址和目标IP:IP数据包头中包含32位的源IP地址和目标IP地址,用于标识数据包的发送方和接收方。
- 字节数:IP数据包头的长度是可变的,但最小长度为20字节。具体的字节数取决于选项字段的长度。
MSS与MTU是什么?
- MSS(Maximum Segment Size) 是TCP协议中的一个参数,表示TCP能够发送的最大数据段大小(不包括TCP和IP头部)。
- MTU(Maximum Transmission Unit) 是网络层协议能够发送的最大数据包大小(不包括任何层协议头部)。当IP数据包的大小超过MTU(1500)时,就需要进行分片。
- 关系:MSS的值通常设置为MTU减去IP头部和TCP头部的长度(即1460)。
因此,当IP包的大小超过MTU时,TCP会自动将数据分段以适应MTU的限制。
怎么获取路由IP信息?
- PING:用于测试与远程主机的连通性,通过发送ICMP Echo请求并等待响应来判断目标主机是否可达。
- NSLOOKUP:用于查询DNS记录,可以将域名解析为IP地址,或者查询其他DNS相关信息。
- TRACERT:用于跟踪数据包从源主机到目标主机所经过的路由路径,并显示每跳的延迟。
- 域名解析:将人类可读的域名转换为计算机可识别的IP地址的过程。
HTTPS是如何防止中间人劫持、明文传输的?
HTTPS是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
- 中间人劫持:中间人攻击是指攻击者在通信双方之间插入自己,截获、篡改或窃取双方的通信内容。
- HTTPS的作用:HTTPS通过SSL/TLS协议,在客户端和服务器之间建立一个加密的通信通道,保护数据在传输过程中的机密性和完整性,从而防止中间人劫持和明文传输。
- 验证机制:HTTPS还使用数字证书来验证服务器的身份,确保客户端与正确的服务器建立连接。
总之HTTPS通过数字证书验证服务器身份,使用SSL/TLS协议建立安全通信通道,对数据进行加密传输,确保网络通信在传输过程中不被中间人劫持或窃取,保证数据的安全性和完整性。
ARP协议是什么?
ARP收复包不会确认身份:ARP(Address Resolution Protocol)用于将网络层(IP层)的32位IP地址转换为数据链路层(MAC层)的48位物理地址。
ARP请求包不包含身份确认机制,因此容易受到ARP欺骗等攻击。
思考题:
如何防御ARP攻击:
使用静态ARP映射,而不是动态ARP解析。
配置ARP过滤或ARP检查,在网关设备上只允许已知的ARP请求通过。
使用ARP安全特性,如ARPGuard或Dynamic ARP Inspection (DAI)。
定期更新和审查ARP缓存表。
关于ARP攻击的防御策略:
- 静态ARP绑定:
在网络设备(如交换机或路由器)上手动配置ARP条目,将MAC地址与IP地址静态绑定。这样可以防止攻击者通过发送伪造的ARP响应来篡改ARP缓存。 - ARP过滤或ARP检查:
在网关设备上启用ARP过滤功能,只允许已知的、信任的ARP请求通过。这通常涉及到配置访问控制列表(ACLs)来限制ARP流量的来源和目的。
ARP检查功能可以验证ARP请求的源MAC地址和IP地址是否与预期相匹配,以防止伪造的ARP请求。 - 使用ARP安全特性:
一些网络设备提供了ARP安全特性,如Cisco的ARPGuard或Cisco IOS的Dynamic ARP Inspection (DAI)。这些特性可以监控ARP流量,并阻止不符合安全策略的ARP请求。 - 定期更新和审查ARP缓存
管理员应定期检查和更新ARP缓存表,以确保其中只包含有效的、受信任的条目。这可以通过手动检查或使用网络管理工具来完成。
当输入一个错误的域名时,DNS会怎么处理:
[如图访问http://hhhhhhhhhhhhh
的时候]
- 当输入一个错误的域名时,DNS服务器会查找其缓存和配置的区域文件来解析该域名。
- 如果域名不存在于缓存或区域文件中,DNS服务器会向其他DNS服务器发起递归查询。
- 如果所有查询都失败,DNS服务器会返回一个NXDOMAIN响应,表示该域名不存在。
- 由于DNS查询失败,您的计算机或网络中的其他设备可能会尝试使用本地名称解析协议来解析该域名。
- 如果您的网络环境是Windows主导的,并且启用了NetBIOS名称解析,那么NBNS可能会被用来解析域名。
- 如果还是不行它可能会发送MDNS查询来查找本地网络中的相关服务。
- 如果您的计算机或网络中的其他设备配置了LLMNR,它们还可能会发送LLMNR查询广播,询问网络中是否有其他设备知道该域名的IP地址。
关于LLMNR、MDNS、NBNS等协议,它们都是本地链接的DNS解析协议,用于在本地网络中进行名称解析。
当标准的DNS解析失败时,这些协议可能会作为备选方案来尝试解析域名。
可以说它们都是名称解析协议,用于在计算机网络中解析主机名或域名到对应的IP地址。
然而,LLMNR和MDNS更侧重于本地网络的名称解析和设备发现,
而NBNS则更多地与早期的Windows系统网络相关。
LLMNR
Link-Local Multicast Name Resolution 可以形象地理解为计算机网络中的“本地翻译官”。
当同一本地链路上的主机需要知道其他主机的名字时,LLMNR就会出手相助,通过多播的方式快速找到答案。
它基于DNS数据包的格式,使得IPv4和IPv6的主机都能轻松使用。
MDNS
Multicast DNS 则像是网络中的“广播员”。
它不仅可以帮助主机解析本地域名到IP地址,还能用于设备发现和服务发现,特别是在局域网内。
设备使用多播地址发送MDNS查询,就像在一个大会上使用扩音器喊话,其他设备听到后可以回复提供所需的服务或资源的IP地址。
NBNS
NetBIOS Name Service 则是早期Windows系统网络中的“名片交换中心”
它主要用于将NetBIOS名称映射到IP地址上,是NetBIOS-over-TCP(NBT)协议族的一份子。
通过NBNS,路由器可以发送状态请求获取设备名,Windows PC在收到请求后会发送命名信息给路由器,就像交换名片一样。