質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HttpWebRequest

HttpWebRequestとは.NETにおけるクラスであり、WebRequestクラスをHTTPに導入するものです。

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Q&A

解決済

4回答

8879閲覧

Microsoft Telnet と 通常のTelnetは異なる? poderosaでTelnet使用するためには? Telnetクライアントは?

re97

総合スコア208

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

HttpWebRequest

HttpWebRequestとは.NETにおけるクラスであり、WebRequestクラスをHTTPに導入するものです。

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

0グッド

0クリップ

投稿2016/04/07 00:18

編集2016/04/07 23:42

目的
・生HTTPヘッダ及び挙動確認

Windows7
・通常のTelnetとはコマンドが異なるのでしょうか

GET /~kawahira/index.html HTTP/1.0

コマンドが無効です

Telnetクライアントは?
・poderosaで試すもうまくいかなかったのですが、特別な設定が必要?
・puttyはどれを選べば良いのでしょうか?


追記
###poderosa
1. 試したこと
・Windows7でpoderosaを起動
・接続先に www.example.com ポート番号 80 を指定
・開いた画面で 「GET /index.php HTTP/1.1 と入力してEnterした」

2. 期待したこと
・200 OK で始まる応答が来る

3.実際
・ノーリアクション

4.試したこと
「GET /index.html HTTP/1.0 と入力してEnter
・ローカルエコーのチェックを入れたり外したり


###putty
1. 試したこと
・ネットで検索
・種類が多くて、何を選択すべきか分からない
・一般的にどれが使用されているのか知りたい
###Windows7
1. 試したこと
・Windows7で起動

Microsoft Telnet> GET /hoge HTTP/1.1

コマンドが無効です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matobaa

2016/04/07 00:28

あなたの実行した手順が見えないため、質問の意図がよくわかりません。 以下の枠組みで質問を書き換えてもらえないでしょうか。 1. やったこと 「Windows7でpoderosaを起動し、接続先に www.example.com ポート番号 8080 を指定し、開いた画面で GET /~kawahira/index.html HTTP/1.0 と入力してEnterした」のように。 2. 期待したこと、実際に起こったこと、そのギャップ 「200 OK で始まる応答が来ることを期待したのに、実際はpoderosaが「コマンドが無効です」というダイアログを表示した」のように。 「poderosaで試すもうまくいかなかった」についても同じ枠組みで書けますか。 どのように試し、どうなることを期待したが、実際のところどうなったのか。 putty も試されたのであれば、それも上記の枠組みで書いてみてください。
re97

2016/04/07 23:43

追記しました
guest

回答4

0

ベストアンサー

Telnetコマンドについては、

  • サーバに接続する
  • エコーバックを設定する

の2つの手順が必要です

C:\ Telnet 192.168.1.1 80 [Enter]

として接続先を指定して起動した場合、接続後(画面がクリアされたら)"CTRL+]"を押してコマンドモードに移ってください。そこで、

Microsoft Telnet> set localecho [ENTER]

と打ってください。さらに、何も入力しないで[ENTER]入力でセッションモードに戻ります。

または接続先を指定しないでTelnetを起動した場合は、

C:\ Telnet [Enter] Microsoft Telnet> set localecho Microsoft Telnet> open 192.168.1.1 80[ENTER]

という手順になります。

なお、打っているコマンドが表示されなくても間違いなく入力できるのであれば、set localechoは不要です。


HTTPのリクエストは、

HTTPコマンド リクエストヘッダ 空行

になります。空行が出てくるまではリクエストが終了しません。ENTERを2度入力する必要があります。

GET /index.html HTTP/1.0[ENTER] [ENTER] (レスポンスが表示されるはず)

HTTP/1.1の場合、hostヘッダが必須になります

GET /index.html HTTP/1.1[ENTER] host: www.example.jp[ENTER] [ENTER] (レスポンスが表示されるはず)

hostを忘れると400 Bad Requestになります。

投稿2016/04/08 04:46

suzukis

総合スコア1449

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/08 23:32

・回答ありがとうございました ・おかげでレスポンスを表示することができました >空行が出てくるまではリクエストが終了しません。ENTERを2度入力する必要があります ・初めて知りました ・大変参考になりました
guest

0

telnetをパラメーター無しで起動した場合、GETを実行する前に open コマンドで宛先ホストに接続する必要があります。

Microsoft Telnet> open サーバー名 80

を実行すると「サーバーに接続中・・・」というメッセージが表示されます。(このメッセージは接続を試みているという意味ではなく、サーバーに接続した状態です、という意味です。)
この状態でGETコマンドを入力してENTERを2回押すとHTTPレスポンスを得ることができます。

ちなみに、telnet起動時に・・・

telnet サーバー名 80

のようにパラメーターを指定して起動すれば、openコマンドの入力は必要ありません。
また、上記の挙動(仕様)はUnix/BSD版telnetと同じです。
ご参考になれば。

投稿2016/04/08 01:56

tkanda

総合スコア2425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/08 23:52

・回答ありがとうございました >「サーバーに接続中・・・」というメッセージが表示されます。(このメッセージは接続を試みているという意味ではなく、サーバーに接続した状態です、という意味です。) ・大変参考になりました
guest

0

おはようございます。

Microsoft Telnet> GET /hoge HTTP/1.1
コマンドが無効です

これは,Telnet に対して GET コマンドを投げているのでコマンドが無効と出ているのではないでしょうか。GET は HTTP サーバに対するメソッドであって,Telnet のコマンドではありません。

C:\>telnet 1.2.3.4 80

と入力して Web サーバの 80 番ポートにつないでから

GET /~kawahira/index.html HTTP/1.0

を実行すれば,文字がずらずらと表示されるかと思います。ちなみにtelnet 1.2.3.4 80したあと,プロンプト等は表示されませんが,そのまま GET コマンド以下を入力して enter してみてください。

投稿2016/04/07 23:54

2sk1530

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/09 00:05 編集

・回答ありがとうございました >GET は HTTP サーバに対するメソッドであって,Telnet のコマンドではありません ・参考になりました
guest

0

こんにちは。

Telnetには詳しくないので、分かる範囲で回答してみます。

マニュアルを見る限り、Windows7のTelnetクライアントにgetコマンドはないようです。(リンク先は一見Windows10の説明っぽいですが、ページ右上を見るとWindows7用の説明のようです。)

poderosaで試すもうまくいかなかったのですが、特別な設定が必要?

matobaaさんから情報の追加依頼を参照下さい。

puttyはどれを選べば良いのでしょうか?

Windows7用を選べばよいように思いますが、たぶんWindows7用も多数あるのですよね?
WindowsからSSH2サーバに接続する(PuTTY編)を見るとPuTTYごった煮を使っているようです。


【追記】
もしかして、http://www.example.com/と言うURLを本当に指定されていますでしょうか?
単なるサンプルURLと思うので、そのようなサーバはないのでは?と思いつつ、ちょっとやってみたら存在しました。(ちょっとびっくり)
イメージ説明

しかし、アドレスバーを見ても分かるようにhttpsで接続されてますので、telnetで直接コントロールするのは無理と思います。
他の平文でやり取りできるサーバを操作されてみては如何でしょうか?


【更に追記】
すいません。httpsは私の操作ミスでした。http://www.example.com/をそのままアドレスバーへ入れればhttpで接続できました。
Wiresharkで通信をキャプチャしてみたのですか、GET / HTTP/1.1コマンドで応答が返るようです。しかし、teratermでGET / HTTP/1.1を発行しても、HTTP/1.0 400 Bad Requestしか返って来ません。

Wiresharkのキャプチャ内容を見ると、GET / HTTP/1.1の後に様々なデータがついてました。もしかすると、それらもつけてないと返ってこないサーバなのかも知れません。

投稿2016/04/07 03:44

編集2016/04/08 12:31
Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

re97

2016/04/07 23:47

・回答ありがとうございます ・getコマンドに該当するコマンドは何でしょうか? display? ・Windows7のTelnetクライアントは、コマンドが異なるだけで、内容や取得結果は通常の(?)Telnetクライアントと同じと考えて良いのでしょうか?
Chironian

2016/04/08 03:54

質問文の追記を見て、回答に追記しました。
re97

2016/04/09 00:01

・回答追記ありがとうございました >Wiresharkで通信をキャプチャしてみた ・何だろうと思って検索してみました ・こういうソフトってあるんですね ・初めて知りました ・参考になりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問