IPNixa / アドレスツール

IPアドレス変換:10進数・2進数・16進数へ相互変換

どんな表記のIPアドレスでも、数値でも、URLごとでも貼り付けてください。形式を自動判定してすべての表記を並べて表示し、http://3232235777 のように偽装されたリンクの本当の接続先も明らかにします。

  • ドット表記・10進数・16進数・2進数・8進数を自動判定
  • 偽装リンクの裏にある本当のIPを表示
  • リストを一括変換してCSV出力、Excel・SQL・コード例つき
入力例を試す

このブラウザ内で計算します。IP照会やサーバーへの送信は行いません。

入力できます。入力値はURLやアクセス解析に追加しません。

リストを一括変換

使い方

  1. IPアドレス、数値、またはURLを貼り付けます。入力中に形式を判定します。
  2. 8進数やオクテットごとの2進数も含め、すべての表記を並べて確認します。
  3. リストをまとめて変換するか、Excel・SQL・Python・JavaScript用の式をコピーします。

結果の見方

IPv4は32ビット、IPv6は128ビットの値です。同じ値でも表記は異なります。標準IPv6表記は小文字の16進数を使い、最長の連続するゼロ群を省略します。同じ長さなら先頭を選びます。展開表記は全8群を表示し、数値変換には丸め誤差のない整数を使います。変換では端末や所在地の特定、IPv4回線のIPv6対応はできません。

IPを10進数に変換:Excel・SQL・コード

普段のツールで同じ変換をする方法です。どの例も192.168.1.1を3232235777に変換し、元に戻します。

Excel
=SUMPRODUCT(--MID(SUBSTITUTE(A1,".",REPT(" ",99)),{1,100,199,298},99)*256^{3,2,1,0})
Google Sheets
=SUMPRODUCT(SPLIT(A1,".")*256^{3,2,1,0})
MySQL / MariaDB
SELECT INET_ATON('192.168.1.1'), INET_NTOA(3232235777);
PostgreSQL
SELECT '192.168.1.1'::inet - '0.0.0.0'::inet, '0.0.0.0'::inet + 3232235777;
Python
import ipaddress
int(ipaddress.ip_address('192.168.1.1'))  # 3232235777
str(ipaddress.ip_address(3232235777))     # '192.168.1.1'
JavaScript
'192.168.1.1'.split('.').reduce((n, o) => n * 256 + Number(o), 0); // 3232235777
[24, 16, 8, 0].map(s => (3232235777 >>> s) & 255).join('.');      // '192.168.1.1'

よくある質問

10進数の数値をIPアドレスに戻すには?

数値(例:3232235777)を貼り付けてください。4,294,967,295以下はブラウザーと同じくIPv4として、それより大きい数値はIPv6として読み取ります。どちらかに固定したい場合は「入力形式」で選びます。

http://3232235777 のようなリンクでサイトが開くのはなぜ?

ブラウザーはIPv4を1つの数値、16進数、8進数で書いても受け付け、いずれも192.168.1.1を開きます。リンク先を隠す手口に使われるため、怪しいリンクはここに貼り付けて本当のアドレスを確認してください。

省略したIPv6は別のアドレスですか?

いいえ。2001:db8::1と展開表記は同じ128ビット値です。省略は表記だけを変え、接続先は変えません。

プライベートIPや文書用アドレスも使えますか?

はい。ローカル計算なのでプライベート・ループバック・文書用アドレスも使えます。入力先への通信は発生しません。

他のアドレスツール