有効なパブリックIPアドレスを確認する方法は?


39

X-Forwarded-For HTTPヘッダーによって提供されるIPアドレスのリストを検討してください。

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しようとしても役に立たない場合があります。また、ローカルネットワーク上に内部アドレスと一致するアドレスが存在する場合があります。


3
また、アドレスがルーティング可能である場合でも、一部の企業はパブリックアドレススペースを内部で悪用していることを指摘します。私は、RFC1918スペースの代わりに内部企業ネットワークでAFRINICおよびAT&T IPv4スペースを使用している非常に大きくてよく知られている企業名を直接知っています...彼らはすべてのHTTPトラフィックをプロキシします...そしてX-Forwarded -企業ネットワークのヘッダーには、実際に所有していない公共スペースが表示されます。
マイクペニントン

@MikePenningtonもこれを直接体験しましたが、APNIC番号を使用していました。また、内部マシン(特に、宛先がサブネットにあることを検出したマシン)がパブリックサーバーの1つにアクセスしようとしたときに問題が発生する可能性があります...
emynd

@MikePennington-プライベートネットワーク(インターネットなど)の外部で実際に使用されている一般的なIPv4アドレスを使用するプライベートネットワークの場合、プライベートネットワーク内の誰かが同じ範囲のIPアドレスを持つパブリックサイトにどのように到達しますか?その要求は、プライベートネットワーク内のコンピューター(おそらく自分のコンピューターも含む)にルーティングされませんか?
ケビンフェガン14

x-forwarded-forを盲目的に信頼するのは悪い考えです。悪用者にとって、必要なアドレスを要求する偽のx-forwarded-forヘッダーを設定するのは簡単です。
ピーターグリーン

回答:


24

RFC 1918は、プライベートIPアドレス範囲を定義しています。見ていこちらを。

その文書から:

  1. プライベートアドレススペース

    インターネット割り当て番号局(IANA)は、プライベートインターネット用に次の3ブロックの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

5
ローカルホストがで定義されているtools.ietf.org/html/rfc6761
ダリルBraaten

4
@dotancohen:ループバックブロックは/ 16ではなく/ 8であり、プライベートアドレス空間ではないため、そのリストにはありません。
Blrfl

@Blrfl:ありがとう、ループバックブロックの幅がわからなかった。私は実際にはプライベートアドレスを識別するのではなく、非パブリックアドレス(そのサブセットはプライベートである)を特定しようとしています。RFC 1918/6890アドレスと127.0.0.0/8スペース以外に、明らかに遭遇する可能性のある他の明らかに非公開のアドレスはありますか?
-dotancohen

1
en.wikipedia.org/wiki/... 240.0.0.0 - 254.255.255.254(240.0.0.0/4と255.0.0.0/8)
デヴィッド・Houde

37

元のRFC 1918スペース(現在はRFC6890に更新されています)の他に、192.0.2.0など、公表されていないブロックがいくつかあります。さらに、だれかが有効なIPv4スペースを持っている可能性がありますが、これは公開インターネットでは発表されていません。

最も簡単なことはtelnet route-views.oregon-ix.net、ログインしrviewsて自分自身を探すことです。たとえば、これはAS7018(AT&T)によって発表された「192」スペースです。

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>

一方、192.0.2.0 / 24(ref RFC6890)はどこにも見つからないことがわかります...

route-views>sh ip route 192.0.2.0 255.255.255.0
% Subnet not in table
route-views>

169.254.0.0/16(またはそれ以上)でもありません...

route-views>sh ip route 169.254.0.0 255.255.0.0 longer
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 128.223.51.1 to network 0.0.0.0

route-views>

1
RFC 1918は、RFC 6890によって(または)更新されていません。RFC6890 は、単にIPv4アドレスブロック(192.0.0.0/24)のIANAへの割り当てを繰り返します。また、IPv4およびIPv6の特殊目的アドレスを再構築するようIANAに指示しますレジストリ「プライベート使用のIPv4特別目的アドレスレジストリエントリは更新されず、IPv4アドレスブロック192.0.0.0/24は「IETF Protocol Assignments」として分類されます。
ワンタイム

2
@ one.time、RFC 6890には、RFC 1918で予約されているアドレススペースのスーパーセットが含まれています。192.0.0.0/ 24について話している理由がわかりません。おそらくあなたは私の答えをより詳しく読む必要があります:-)
マイクペニントン

IPv4ブロック192.0.0.0/24は、RFC 6890の主要な論点であるため、RFC 1918との適切な比較および比較のために参照しました。「元のRFC 1918スペース(現在RFC6890に更新されている)に加えて」あなたの投稿を読んでいるとき、私の好奇心を刺激しました。192.0.0.0.24を含めるためのIPv4およびIPv6の専用アドレスレジストリエントリの更新は別として、RFC 6890はRFC 1918の更新ではありません。ステートメントの正確性について観察したいだけです。HTH ;-)
one.time

5
@ one.time、RFC 6890はRFC 1918の更新ではありません。機能的には、パブリックBGPテーブルで有効なIPスペースを考慮する場合、RFC 1918の代わりにRFC 6890を使用する必要があります...
Mike Pennington

13

Team Cymruは、未割り当て/予約済み/プライベートIPアドレスを除外するために使用できるIPv4とIPv6の両方のbogonリファレンスを提供します-既知のプレフィックスの単純なリストとしても、スペースを含むはるかに大きなリストとしても提供されますRIRによって未割り当てのまま。

また、無料のピアリングをリクエストできるBGP bogonサーバーも実行します-インターネットに対してデフォルトのないゾーンを実行できない場合は非常に貴重です。


2
率直に言って「割り当てられていない」ことは、フィルタリングには役に立たないものであり、それをフィルタリングすると、解決するよりもはるかに多くの問題が発生します。また、実際のボゴンは非常に安定/静的であるため、簡単です。
ytti

2
OK
オリプロ

2

さまざまなユースケース用に予約されている範囲がいくつかあります。IANAには信頼できる包括的なリストがあります。これには、RFC1918、RFC6761、および100.64 / 10 CGNブロックなどの最近の予約が含まれます。そこにアドレスが見つかった場合、それらはプライベートネットワークで何らかの形で使用されている可能性が高いため、最初のパブリックアドレスを検索する際に他のアドレスを優先して破棄する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.