ウェブサイトの IP アドレスを見つける方法に関する質問を読んでいました。回答の 1 つに、特定のページを見つけるには、「GET / HTTP.1.1」に続いて「host:website.port」を発行するようにと書かれていました。質問は、Windows 8.1 でそのようなコマンドをどこでどのように入力するかです。コマンド プロンプトではうまくいきませんでした。ありがとうございます。
答え1
ウェブサイトのドメイン(例:www.google.com)のIPを見つけるには、コマンドプロンプト(start....cmd)を開いて、ping www.google.com<ENTER>
つまり、www.google.comのIPは74.125.24.104です。
C:\>ping www.google.com
Pinging www.google.com [74.125.24.104] with 32 bytes of data:
Reply from 74.125.24.104: bytes=32 time=28ms TTL=50
Ping statistics for 74.125.24.104:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 28ms, Maximum = 28ms, Average = 28ms
Control-C
^C
C:\>
あなたが説明したものは、コマンド プロンプトで返される Web ページの HTML を取得します。HTTP サーバーへの生の接続を行う必要があります。ただし、HTTP 要求によって IP が取得されると考えている場合、その概念はあなたの知識の範囲をはるかに超えています。また、HTTP 要求を行うことは、IP の取得とは関係ありません。
しかし、HTTPリクエスト(GETコマンドが行っていること)を行うという点では、Windowsに付属するtelnetというプログラムがあります。しかし、あまり使用されていません。telnetプロトコルのみを実行し、rawは実行しない可能性があります。Puttyなどの代替手段を使用する傾向があります。cygwinでncを使用するのも代替手段です。
cygwin をダウンロードし、次に nc パッケージをダウンロードして、「nc」コマンドを使用する必要があります。ページを取得するのにあまり成功していないと言わざるを得ませんが、これがアイデアです。
$ nc www.htmlgoodies.com 80
GET HTTP/1.0
HTTP/1.0 400 Bad Request
Server: AkamaiGHost
Mime-Version: 1.0
Content-Type: text/html
Content-Length: 216
Expires: Thu, 21 May 2015 17:07:01 GMT
Date: Thu, 21 May 2015 17:07:01 GMT
Connection: close
<HTML><HEAD>
<TITLE>Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
Reference #7.9557dd58.1432228021.0
</BODY>
</HTML>
$
または少し良くなる
$ nc www.htmlgoodies.com 80
GET / HTTP/1.0
HTTP/1.0 400 Bad Request
Server: AkamaiGHost
Mime-Version: 1.0
Content-Type: text/html
Content-Length: 192
Expires: Thu, 21 May 2015 17:07:41 GMT
Date: Thu, 21 May 2015 17:07:41 GMT
Connection: close
<HTML><HEAD>
<TITLE>Invalid URL</TITLE>
</HEAD><BODY>
<H1>Invalid URL</H1>
The requested URL "/", is invalid.<p>
Reference #9.9557dd58.1432228061.4ae720
</BODY></HTML>
$
さらに良いことに
$ nc htmlgoodies.com 80
GET / HTTP/1.0
HTTP/1.1 200 OK
Date: Thu, 21 May 2015 19:56:53 GMT
Server: Apache
Last-Modified: Thu, 12 Apr 2012 05:29:47 GMT
ETag: "9b-4bd74a4e268c0"
Accept-Ranges: bytes
Content-Length: 155
Vary: Accept-Encoding
Cache-Control: public
Cache-Control: public
Connection: close
Content-Type: text/html; charset=UTF-8
<html>
<center><br><img src="construction.jpg"><br><img src="note.jpg"></center>
<!-- PRODUCTION WEB is alive -->
<!-- PRODUCTION WEB is alive -->
</html>
$
Wireshark を使用すると、リクエストがどのように表示されるかを確認できます。
Google では機能しません。Google は https のみであり、https を実行するのは少し難しいためである可能性があります。
いずれにしても、HTTP リクエストを正しく実行しても、IP は表示されません。
DNS ルックアップが実行され、Ping によってそれが実行され、IP が表示されます。