Windows 8.1 から GET コマンドを発行する

Windows 8.1 から GET コマンドを発行する

ウェブサイトの 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&#32;&#35;7&#46;9557dd58&#46;1432228021&#46;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 "&#47;", is invalid.<p>
Reference&#32;&#35;9&#46;9557dd58&#46;1432228061&#46;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 が表示されます。

関連情報