10.0.0.142,192.168.0.10,212.43.234.12,54.23.66.43
我想知道哪个是该列表中第一个可供公众访问的地址。我可以很容易地查看它们,但是我怎么知道哪些可以公开访问呢?在我看来(我那未经训练的眼睛)是
10.0.0.142
是工作站,192.168.0.10
是内部代理,而212.43.234.12
是可公开访问的地址,通过54.23.66.43
的代理转发。有什么方法可以用代码来计算吗?我的第一个直觉是,不能公开访问以
10.
或192.
开头的地址,但是http://simplesniff.com显示我的家庭IP地址是192.117.111.61
。是否有公式确定哪些地址是公共地址,哪些保留了私有地址?请注意,即使尝试对有问题的服务器执行ping操作也可能无济于事,因为某些服务器无法响应ping,并且我的本地网络上也可能有一个地址也与内部地址匹配。#1 楼
RFC 1918定义了专用IP地址范围。在此处查看。从该文档:
专用地址空间
Internet分配号码授权( IANA)已为私人互联网保留了以下三个IP地址空间块:
10.0.0.0-10.255.255.255(前缀10/8)
172.16.0.0-172.31.255.255(172.16 / 12前缀)
192.168.0.0-192.168.255.255(192.168 / 16前缀)
评论
谢谢。我发现127.0.0.0/16(可能还有更多)不在该列表中很有趣。
– dotancohen
13年7月10日在14:43
本地主机在tools.ietf.org/html/rfc6761中定义
–达里尔·布雷滕(Darryl Braaten)
13年7月10日在15:11
@dotancohen:回送块是/ 8,而不是/ 16,并且不在该列表中,因为它不是私有地址空间。
–
13年7月10日在19:35
@Blrfl:谢谢,我不确定环回块的宽度。我实际上不是在寻找私有地址,而是非公共地址(其子集是私有的)。除了RFC 1918/6890地址和127.0.0.0/8空间之外,还有其他明显的非公共地址吗?
– dotancohen
13年7月11日在4:59
zh.wikipedia.org/wiki/…240.0.0.0-254.255.255.254(240.0.0.0/4和255.0.0.0/8)
–David Houde
13年7月11日在7:49
#2 楼
除了原始的RFC 1918空间(现在已更新为RFC6890)之外,还有其他一些未公开的块,例如192.0.2.0。此外,某人可能具有有效的IPv4空间,而公共互联网上并未公布该空间。最简单的方法是
telnet route-views.oregon-ix.net
,以rviews
登录并寻找自己...这是AS7018(AT&T)宣布的一些“ 192”空间。 ref RFC6890)无处可寻... route-views>sh ip route 192.199.1.0
Routing entry for 192.199.1.0/24
Known via "bgp 6447", distance 20, metric 0
Tag 7018, type external
Last update from 12.0.1.63 3w1d ago
Routing Descriptor Blocks:
* 12.0.1.63, from 12.0.1.63, 3w1d ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 7018
route-views>
评论
RFC 1918尚未由RFC 6890更新(或未更新)。RFC 6890只是“重申了将IPv4地址块(192.0.0.0/24)分配给IANA。它还指示IANA重组其IPv4和IPv6专用地址。注册表。”它不会更新专用的IPv4专用地址注册表项,并且IPv4地址块192.0.0.0/24被归类为“ IETF协议分配”。
–一次
2013年9月24日,下午1:21
@ one.time,RFC 6890包含RFC 1918中保留的地址空间的超集。也许您应该更仔细地阅读我的答案:-)
–迈克·彭宁顿
2013年9月24日在1:33
IPv4块192.0.0.0/24是RFC 6890的主要要点,因此我参考它是为了很好地衡量并与RFC 1918进行比较。阅读您的帖子时激发了我的好奇心。除了为包含192.0.0.0.24的IPv4和IPv6的专用地址注册表项进行更新之外,RFC 6890并不是对RFC 1918的更新。 HTH ;-)
–一次
2013年9月24日在1:54
@ one.time,古怪地讲RFC 6890并不是对RFC 1918的更新。从功能上讲,在考虑公共BGP表中有效的IP空间时,应该使用RFC 6890而不是RFC 1918 ...
–迈克·彭宁顿
2013年9月24日,下午1:56
#3 楼
Team Cymru为IPv4和IPv6提供了一个纯文本参考,您可以使用它来过滤出未分配/保留/私有IP地址-它既是众所周知的前缀的简单列表,又以更大的列表提供,其中包括它们还运行BGP Bogon服务器,您可以请求对等的免费对等连接-如果您无法运行默认的免费区域到Internet,这将非常有用。
评论
坦白说,“未分配”是没有用的过滤功能,过滤会导致更多的问题,无法解决。实际的多边形很容易,因为它们非常稳定/静态。
–ytti
13年7月10日在13:38
好的,那就别用了,就像我说的那样,它们提供了多种口味。
–奥利普
13年7月10日在13:54
评论
我还要指出,即使您发现一个可路由的地址,一些公司也会在内部滥用公共地址空间。我对一个非常大的知名公司名称有第一手了解,在公司内部网络上莫名其妙地使用了AFRINIC和AT&T IPv4空间而不是RFC1918空间...它们代理了所有HTTP通信...以及X-Forwarded -对于来自其公司网络的标头,将显示他们实际上不拥有的公共空间。@MikePennington对此也有第一手经验,除了他们使用的是APNIC编号。当内部计算机(尤其是那些找到目标位于其子网中的计算机)尝试访问其中一台公共服务器时,也会引起问题。
@MikePennington-对于使用在专用网络(即Internet)之外实际使用的公用IPv4地址的专用网络,专用网络内部的人将如何访问IP地址在相同范围内的公共站点?该请求是否会路由到专用网络中的某些计算机(甚至可能是他们自己的计算机)?
盲目相信x-forward-for是一个坏主意。对于任何滥用者而言,设置一个虚假的x-forward-for标头声明他们想要的任何地址都是很简单的。