• ベストアンサー

アプリケーションプロトコルについて

アプリケーションプロトコルであるメールソフトやブラウザは裏でコマンド(GETやPOSTなど)を用いて通信しているようですが、これを具体的に見る方法としてtelnetがあると思います。●もし、ブラウザやメールソフトを作りたい場合はこのコマンドに対応するAPIがあったりするのでしょうか?●あと、telnetって他のコンピュータを遠隔操作するサービスと定義されていますが、この場合(GETやPOSTの動作の確認)自分のPCの動作を確認しているような気がします。であるとするとこのtelnetではあとどのようなことができるのでしょうか?(winxppro,vsnet)

noname#46712
noname#46712

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

う~ん。君はちょっと誤解をしているようだ。  まず、アプリケーションプロトコルというのはPOP3やHTTPの事を指す言葉で、メールソフトやブラウザとは本来関係の無いものだ。これは良いな? 何を言っているのかというと、メールソフトがHTTPでYahooのページをもらってきても良いし、私が作ったメモ帳がPOP3でメールをもらってきても良いという事だ。  で、アプリケーションプロトコルは、現実にはTCP/IPないしUDP/IP上で実装される。つまり、プロセス間通信で文字列をやり取りする事に他ならない。ここがちょっと難しい。分かるかな?  さらに誤解を招く原因として、TELNETという言葉がある。TELNETはプロトコルで(厳密にはこれまた違う、ここではこう思ってくれ)、telnetはコマンドだ。というのは、TELNETプロトコルはプロセス間通信の上でさらに文字列をやり取りする土台(キーボードで打った文字を相手に渡したり、相手からの文字を画面に出したり)を提供するもので、解説本によってはセション層のプロトコルと定義されている。telnetはTELNETプロトコルを使って遠隔操作をするソフトだ。という事で、23番につなげると向こうのtelnetデーモンがシェルを起動して対話してくれ、80番につなげるとhttpデーモンがHTTPリクエストを待っている訳だな。自分のPCの動作を確認している訳ではない。GETメソッドを送って、帰ってくるページはサーバからのものだろう?  残念な事に私はVS.NETでActive Xで言うところのインターネットトランスファコントロールに相当するようなものがあるかどうかは知らない。これは誰かフォロー頼む。  低レベルソケットを使う場合はSystem.Net.Socketsアセンブリを使う事になるのだが、その場合は状態制御、取得したコンテンツ等は全て自前で制御する事になる。APIも自分でライブラリ(アセンブリ)を作る事になるな。ま、勉強だと思ってちょっとやってみるのも面白いかも知れない。

noname#46712
質問者

お礼

本当によくご存知ですね。勉強になりました。

その他の回答 (1)

  • mach999
  • ベストアンサー率75% (36/48)
回答No.2
参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp
noname#46712
質問者

お礼

大変参考になりました。ありがとうございます。

関連するQ&A

  • HTTPプロトコル POSTコマンドを中止させたい

    ちょうどピッタリなカテゴリがなかったので、ここで質問させてください。 ブラウザからサーバに対してファイルをPOSTコマンドでアップロードする場面での話です。 一般的な手法としてformタグとinputタグ(type=file)を組み合わせてmultipart/formなenctypeでアップロードさせる方法を行っているのですが、サーバ側の都合でアップロードを途中でやめたくなった場合はどのような方法がありますか? やめたくなるタイミングはPOSTコマンド&ヘッダの送信中ではなく、ファイル本体をアップロードしているときです。例えば、サーバはブラウザからファイルを受け取り始めたけど、ファイルのサイズが大きすぎるとか何かの理由でサーバ側から止めたくなったら、どうすればよいか?ということです。 これは特定のサーバプラットフォームの話ではなくて、プロトコル上でどのような方法があるか、という回答をお待ちしています。 試しに、止めたくなったときにサーバ側からHTTPコネクションを切ってみました。確かにサーバ→ブラウザ方向へのコネクションは切れた(ハーフクローズ)ようですが、ブラウザ→サーバー方向のコネクションは切れずにブラウザは最後までファイルを送り続けました(chromeで確認)。 何か方法があればよろしくお願いします。

  • HTTPプロトコルについて(文字化け。)

    No.656466の質問「文字化け。」 で「サーバーの設定とは関係ありません。 」 と自身満々に回答してしまったものです。。。 (質問者の方には申し訳ない) 私はHTTPプロトコルはポート80にgetコマンドを送って 単にhtmlデータを受け取るだけだと勘違いしていたのですが No.656466の回答にapacheのconfファイルのAddDefaultCharsetを変更することで 文字コードの判定を行えるような事を書いてあったのですが apacheはAddDefaultCharsetをconfファイルで指定してやることで どういった動作をしてブラウザとやりとりしているのでしょうか? 宜しくお願いします。

  • telnetでメール

    telnetでSMTPサーバーへ25ポートで繋ぐと、コマンド(HELOやmailなど)を送り、ステータスコードなどを確認できる状態になると思います。「Ctrl+}」を押下するとtelnetのコマンドモード(サブコマンド)の状態になります。 ▼この「Ctrl+}」を押下する前のコマンドが打てる状態というのはtelnet接続というのでしょうか? ▼また、セッションモードというはtelnetで23ポートに繋ぎ、そのサーバーでコマンドを実行することをいうのでしょうか? ▼コマンドモード(サブコマンド)の利点として、Ciscoのshow sessionsコマンドのように自分がどれだけのサーバーにtelnetセッションを張っているのかわかるということでよいでしょうか? 他にコマンドモードを使う理由などございますでしょうか?状態を確認できるということはわかるのですが、設定ができるとネットで調べたらありましたが、よくわかりません。 ▼最後に、ブラウザやメールソフトは裏でtelnetを利用しているという認識でよろしいでしょうか? 長々となってしまいましたが、返答できる方いましたらよろしくお願いいたします。

  • xport+picマイコンでpingをやりたい

    XPORT+PICマイコンでインターネット上のサーバーへPingコマンドを実行したいと考えています。 とりあえずはpingのコマンドのやり取りを確認すべくtelnetでやっていますが・・・、 telnet www.yahoo.co.jp 13 うまく行きません。プロトコルの通信手順とか調べてみるが理解できるページが見当たらず・・・。 どなたかご教授願います。

  • ARP は L2 と L3 どちらのプロトコル?

    プロトコル「ARP」の位置づけについてお尋ねいたします。 ベンダー資格である、Cisco CCNA に対応した問題(集)がいくつかの Webサイトで提供されています。そのうちの1つで、「ARP は OSIモデルのどのレイヤーで動作するプロトコルか?」といった問題がありました。解答は「(正しいかどうかはともかくとして)データリンク層」でした。 ネットワーク関連の Webサイトや書籍を見ますと、ARP は L2 のプロトコルと位置づける場合と L3 のプロトコルに位置づける場合があり、著者により見解はまちまちです。私が見た限り、多くは L3 相当のプロトコルと定義しているようです。 個人的には、IP アドレスと MAC の橋渡しということで、L2.5 相当のプロトコルと勝手に解釈してますが、敢えてどちらか一方に属させよと問われたら...。 皆様のご見解をお聞かせ頂けますか。

  • Windows XPから他のPCに対して以下の事をバッチファイルで行いたい

    Windows XPから他のPCに対して以下の事をバッチファイルで行いたいのです。 TELNET 192.168.0.2 80 エンター GET /view.html HTTP/1.0 TELNETを使うと手動で GET /view.html HTTP/1.0としなければならないのですが、何か別のコマンドでも構いませんので [何かのアプリ] 192.168.0.2 80 "GET /view.html HTTP/1.0\r\n" で同じ動作するものを探しています。 何かないのでしょうか?

  • telnetで接続した先のコマンドのバッチファイルを作成したい

    毎回動作確認のため、 1、クライアントPCからサーバへtelnetで接続して、 2、接続後、ログイン、動作確認のコマンドを打ちます。 毎回同じコマンドを打つので、 バッチファイルで対応しようかと思いますが可能でしょうか。 それとも他の別の方法がありますでしょうか。 宜しくお願いします。 1のバッチファイル telnet 192.168.0.2 2のバッチファイル (192.168.0.2のログインユーザ名) (パスワード) (動作確認のコマンド)… のようなイメージかなぁと考えています。 よろしくおねがいします。

  • あるSNSで使われている上位プロトコルについて

    とあるSNSで使われているMメールというプロトコルについてですが、 例えば仮にですね、 a-cccc.bb.dddd=eeeee.fff-1gggg@pppppppppp.ttttttt.ccc というアドレスをMメールのチャットのアドレスとしておくられてきた場合。 ブラウザでもし対応するポートがあったら、ブラウザ使用できるアドレスに変換するには どうしたらいいのでしょうか。その場合、 https やhttp というポート意外で使うことになるのでしょうか。 "n-cccc.bb.dddd=eeeee.fff-1gggg"<n-cccc.bb.dddd=eeeee.fff-1gggg @pppppppppp.ttttttt.ccc> それで、上記のようなアドレスで、Eメール用のサイト(例えばGMAIL)で送信した場合は、 どういう経路をたどって、どこに送信されるのか、または、これもこのまま使えないのか。 すいません、分かりにくいかもしれませんが、なんせアドレスは秘匿情報らしいので それと、Mメールというプロトコルがあることをしったのも最近でいまいち何の為にあるのか ということも分かっていませんので、その設計目的も合わせて教えてもらえるとありがたいです。

  • IPv6プロトコルのインストール

    NTT西日本フレッツ光プレミアムと光電話を同時に導入しました。 工事担当者さんに接続していただいたのですが、その際「フレッツ・スクウェアスタートアップツール」がインストール出来ませんでした。 後日、NTT西日本フレッツ・スクウェア担当さんに問い合わせたところ、スタートアップツールがインストール出来ない原因は、IPv6プロトコルがPCにインストールされていないとのご指摘、そして「IPv6プロトコルのインストール手順」と、「コマンドプロンプトによる確認方法」を指示通りに実行しましたが「IPv6」がインストール出来ませんでした。PCに問題があるそうでパソコンメーカ様、もしくはマイクロソフト様まで、IPv6プロトコルのインストールについてお問い合わせ下さいとのことでした。 OSはWindowsXP SP2 です。 よろしくお願いいたします。

  • パソコンの遠隔操作するためのVNCについてお尋ねします。遠隔操作の内容

    パソコンの遠隔操作するためのVNCについてお尋ねします。遠隔操作の内容が分からないのですが、手元にあるPCを利用しながら遠方のマシンに対してコマンドを送って仕事をさせるということでしょうか。 その場合、コマンドによって生じるメモリの消費とか発生するファイルはすべて遠隔地のマシンが負担するということでしょうか。そうしますと、telnet, sshと同じで遠隔地のマシンはサーバということになるのでしょうか。 例えば、コンパイラがインストールされているマシンが遠方にあってファイル共有でファイルを転送し、VNCによって接続してコンパイル、実行するというような計算サーバみたいなことをVNCでもできるのでしょうか。まるでtelnet, ssh, ftpですね。しかし、遠方の出力画面も手元のPCで見ることができるということだとすれば、unixで言うところのXを飛ばすということと同じでしょうか。 また、そのサービスを利用する場合の環境設定などはどのようになるのでしょうか。サーバ側としてはどのようなユーザ管理になるのでしょうか。 VNCを誤解しているかもしれないので解説をお願いしたいのですが。wikiで調べたのですが、telnet, sshとの区別が分かりませんでした。ただ、telnet, VNCは平文で操作するのでセキュリティには気をつける必要があるとのことでした。 よろしくお願いします。