草庐IT

网络协议(四):网络分类、ISP、上网方式、公网私网、NAT

网络协议系列文章网络协议(一):基本概念、计算机之间的连接方式网络协议(二):MAC地址、IP地址、子网掩码、子网和超网网络协议(三):路由器原理及数据包传输过程网络协议(四):网络分类、ISP、上网方式、公网私网、NAT网络协议(五):网络互联模型、物理层、数据链路层网络协议(六):网络层(版本、首部长度、区分服务、总长度、标识、标志、片偏移生存时间、协议、首部校验和)网络协议(七):传输层-UDP网络协议(八):传输层-TCP(可靠性传输、拥塞控制、建立连接-三次握手、释放连接-四次挥手)网络协议(九):应用层(域名、DNS、DHCP)网络协议(十):HTTP(报文格式、请求方法、头部字段

go - 检查IP地址是否在私网空间

我有一个go程序,它接受来自客户端的URL并使用net/http包获取它们。在进行进一步处理之前,我想检查URL是否映射到私有(private)(不可路由/RFC1918网络)地址空间。直接的方法是执行显式DNS请求并检查已知专用范围的地址。之后,对URL执行HTTPGET请求。有没有更好的方法来实现这一点?最好与http.Client集成,以便它可以作为GET请求的一部分执行。 最佳答案 您可能还想包括对环回(IPv4或IPv6)和/或IPv6链路本地或唯一本地地址的检查。下面是一个示例,其中包含RFC1918地址列表以及其他地址
12