FacebookのIPが知りたい!

仕事でなんちゃってPHPを書いてると認証をFacebookなど外部のSNSサービスに投げたい場合がある。

その場合、アクセス出来るのがFacebookだけとか制限したい場合にdigで返ってきたIPを登録すると嵌ったりする。

ユーザが多いSNSサービスは当たり前のようにロードバランサ―なんかが居て複数のIPで分散されているから、1つや2つ登録しただけじゃダメなんだよね。

でも、Facebookが使ってるIPを全部表示なんて出来るのか?

・・・・・・

ソースがどこに書いてあったか忘れたけど、こんな方法があるそうな

 

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route: | awk -F" " '{print $2}'

 

ふむ、Merit RADbに登録されてるデータベースから引っ張ってきてるみたい。

ちなみに、『AS32934』ってのがFacebookの事ね。

 

digコマンドでfacebook.comのIPを調べる

  dig facebook.com

 

ANSWER SECTIONのAレコードを確認すると、こんな感じ。

  facebook.com. 300 IN A 173.252.91.4

 

次に確認したIPのwhoisを確認する

  whois 173.252.91.4

 

OriginASに書かれているのがFacebookのASなので控える。

さらっと先ほどのコマンドを実行してみると78セグメント。Twitterだと61セグメントくらい。

調子に乗ってGoogle+用にGoogleを調べたら6734セグメント(^^;)

さすがはGoogle先生だ・・・。

 

Getting Started with OAuth 2.0

Getting Started with OAuth 2.0

 

 

Facebook

Facebook

 

 

Twitter

Twitter