TCPぷろとこる


◆POP3コマンド
使い方は、Telnet address 110(or pop3 or pop-3)
のようにTELNETにポートを指定して使います。
UNIXのmailコマンドより便利です。
また、UNIXのコマンドなら、
fetchmail -p pop-3 -u username hostname
 というコマンドもあります。
| コマンド |
意味 |
書式 |
| USER |
ユーザーの識別 |
USER username |
| PASS |
パスワード |
PASS password |
| STAT |
サーバーの状態をたずねる |
STAT |
| LIST |
リストの取得 |
LIST [message-Number] |
| RETR |
メールの取得 |
RETR message-number |
| DELE |
メールの削除 |
DELE message-number |
| NOOP |
何もしない |
NOOP |
| RSET |
削除動作の実行 |
RSET |
| QUIT |
終了 |
QUIT |
| TOP |
メッセージ・ヘッダーの表示 |
TOP message-number lines |
| APOP |
ユーザーの識別 |
APOP username MD5digestString |
| UIDL |
ユニークID付きのリクエスト |
UIDL [message-number] |
使用例(斜字が入力)
telnet xxx.xxx.xxx.xxx pop3
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
+OK POP3 xxx.co.jp v6.50 server ready!
user fuku
+OK User name accepted, password please
pass zzzzzzzzzz
+OK Mailbox open, 1 messages
list ←メール一覧を取得
+OK Mailbox scan listing follows
retr 1 ←1番目のメールを取得。
1 320
.
+OK 320 octets
Return-Path: aaa
Received: (from aaa@localhost)
by xxx.co.jp (8.9.3/8.9.3) id QAA00322
for fuku; Sat, 16 Sep 2000 16:07:17 GMT
Date: Sat, 16 Sep 2000 16:07:17 GMT
From: aaa
Message-Id: <200009161607.QAA00322@xxx.co.jp>
To: fuku@yyy.co.jp
Subject: TEST Mail
Status:
This is Test ←メール本文
.
quit
+OK Sayonara
[戻る]
◆SMTPコマンド
使い方は、Telnet address 25(or smtp)
のようにTELNETにポートを指定して使います。
でもこんな使い方をする人はいないでしょう・・・。
| コマンド |
必要不可欠 |
意味 |
書式 |
| HELO |
○ |
セッションの開始 |
HELO [hostname] |
| MAIL |
○ |
メールの転送開始 |
MAIL FROM:[address] |
| RCPT |
○ |
メールの宛先指定。宛先が複数ある場合はRCPTコマンドを複数回実行する。 |
RCPT TO:[address] |
| DATA |
○ |
メールの送信 |
DATA |
| RSET |
|
処理の取消 |
RSET |
| VRFY |
|
ユーザーの確認 |
VRFY [string] |
| EXPN |
|
ユーザー・リストのメンバー取得 |
EXPN [string] |
| HELP |
|
コマンド・ヘルプ |
HELP [string] |
| NOOP |
○ |
何もしない |
NOOP |
| QUIT |
○ |
セッションの終了 |
QUIT |
※拡張SMTPでは、EHLO、HELP、EXPN、ETRN、SIZE、DSN、といったコマンドが使用できます。
使用例(斜字が入力)
telnet xxx.xxx.xxx.xxx smtp
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
220 xxx.co.jp ESMTP Sendmail 8.9.3/8.9.3; Sat, 16 Sep 2000 16:35:39 GMT
helo xxx.co.jp
250 xxx.co.jp Hello IDENT:root@xxx.co.jp [10.10.10.254], pleased to meet you
mail from:fuku@aaa.co.jp
250 fuku@aaa.co.jp... Sender ok
rcpt to:zzz@aaa.co.jp
250 fuku@aaa.co.jp... Recipient ok
data
354 Enter mail, end with "." on a line by itself
This is test mail ←メール本文
.
250 QAA00375 Message accepted for delivery
quit
221 aaa.co.jp closing connection
※SMTPの主なエラーコード
| 450 |
メールボックスが使用中 |
| 451 |
エラーが発生し、異常終了した |
| 452 |
ディスク不足のため実行できない |
| 500 |
文法エラー |
| 554 |
メール処理に失敗した |
[戻る]
◆FTPコマンド
使い方は、
  Telnet address ftp
のようにTELNETにポートを指定して使います。
| コマンド |
意味 |
書式 |
| USER |
ユーザー名の指定 |
USER [username] |
| PASS |
パスワードの指定 |
PASS [password] |
| ACCT |
アカウントの指定 |
ACCT [account-information] |
| CWD |
作業ディレクトリの指定 |
CWD [pathname] |
| CDUP |
親ディレクトリの指定 |
CDUP |
| SMNT |
別のファイルシステム構造のマウント |
SMNT [pathname] |
| QUIT |
接続終了 |
QUIT |
| REIN |
新規接続状態に戻る |
REIN |
| PORT (*1) |
データ転送用のポートの指定 |
PORT [host-port] |
| PASV |
パッシブ・モードの開始 |
PASV |
| TYPE |
タイプの指定。ASCII,EBCDIC,IMAGEなど |
TYPE [type-code] |
| STRU |
ファイルストラクチャの指定。F:File R:Record P:Page |
STRU [structure-code] |
| MODE |
転送モードの指定。S:ストリーム B:ブロック C:圧縮 |
MODE [mode-code] |
| RETR |
データ転送開始 |
RETR [pathname] |
| STOR |
データの受信と保存 |
STOR [pathname] |
| STOU |
受信したファイルをカレントディレクトリで重複しない名前で保存 |
STOU |
| APPE |
既存のファイルに追加。なければ新規作成。 |
APPE [pathname] |
| ALLO |
指定したサイズのファイル領域を転送前に確保する。STOR/APPEに先だって使用。 |
ALLO [decimal-integer] R [decimal-integer] |
| REST |
ファイル転送の再開を指定 |
REST [marker] |
| RNFR |
リネームの対象になるファイルの指定 |
RNFR [pathname] |
| RNTO |
新しいファイル名の指定。RNFRと対で使う。 |
RNTO [pathname] |
| ABOR |
実行中のデータ転送の中止 |
ABOR |
| DELE |
ファイルの削除 |
DELE [pathname] |
| RMD |
ディレクトリの削除 |
RMD [pathname] |
| MKD |
ディレクトリの作成 |
MKD [pathname] |
| PWD |
カレント・ディレクトリの表示 |
PWD |
| LIST |
ディレクトリ内のファイルリストまたはファイル情報 |
LIST [pathname] |
| NLST |
ディレクトリ内のファイルリスト |
NLST [pathname] |
| SITE |
特定のサイト用のコマンドの指定 |
SITE [string] |
| SYST |
サーバーのOSタイプの要求 |
SYST |
| STAT |
サーバーの状態 |
STAT [pathname] |
| HELP |
ヘルプの表示 |
HELP [string] |
| NOOP |
何もしない |
NOOP |
※FTPのエラーコード
| 125 |
データコネクションオープン済み、転送開始 |
| 150 |
ファイル状態OK、データコネクションほぼOK |
| 200 |
コマンドOK |
| 211 |
システム状態 |
| 213 |
ファイル状態 |
| 220 |
サービス準備完了 |
| 225 |
データコネクションオープン |
| 226 |
データコネクションクローズ |
| 231 |
ユーザーネームOK、要パスワード |
| 421 |
サービス利用できず、制御コネクションクローズ |
| 500 |
構文エラー、コマンド解釈できず |
| 502 |
コマンド未実装 |
| 550 |
要求されたアクション実行不能 |
(*1)PORTコマンドで通知されたFTPクライアントのデータポート番号は、
1番目の数字×256+2番目で求まります。
(ex)"PORT 192,168,1,100,4,112"とコマンドが発行された場合、4×256+112=1136が
192.168.1.100に対するポート番号となります。
[戻る]
◆ブラウザでユーザー名とパスワードを指定する方法
ブラウザのアドレス欄に、
  ftp://ユーザ名:パスワード@FQDN or IPアドレス/
の形式で入力します。
※もちろん、HTTP://ユーザ名:パスワード@FQDN or IPアドレス/ もできます。
[戻る]
◆TFTPオペレーションコード一覧
TFTPをあまり使うことはないと思いますが・・・、
| コマンド |
オペレーションコード (バイト数) |
意味 |
| RRQ |
1(2) |
読み出し要求 |
| WRQ |
2(2) |
書き込み要求 |
| DATA |
3(2) |
データ |
| ACK |
4(2) |
肯定応答 |
| ERROR |
5(2) |
エラー |
[戻る]
◆HTTPコマンド
使い方は、Telnet address 80(or http)
のようにTELNETにポートを指定して使います。
| メッソッド |
意味 |
| GET |
サーバーの情報(URLデータ)取得 |
| HEAD |
メッセージヘッダのみを調べる |
| POST |
クライアントから情報を送る(登録) |
| PUT |
クライアントから情報を送る(更新) |
| DELETE |
指定したリソースを削除する |
| TRACE |
リクエストメッセージをクライアントに渡す |
| LINK |
他の既存情報の間にリンク関係を設定する |
| UNLINK |
リンク関係を削除する |
使用例(斜字が入力)
telnet xxx.xxx.xxx.xxx http
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
get /http/1.0 ←ここでCTRL+Enterを2回押す。
HTTP/1.1 200 OK
Date: Sat, 16 Sep 2000 17:16:14 GMT
Server: Apache/1.3.6 (Unix) ←これでサーバーの種類がわかる
Last-Modified: Mon, 07 Aug 2000 09:25:32 GMT
ETag: "fd80-19b-398e808c"
Accept-Ranges: bytes
Content-Length: 411
Connection: close
Content-Type: text/html
<HTML>
<br>
<HEAD>
<TITLE>FUKU's Apache: TurboLinux Web Server</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000>
<H1>FUKU's Apache 1.3.6: TurboLinux Web Server</H1>
TurboLinux uses the Apache web server to provide WWW services.
<h2><font color=ff0000>Here is FUKU's UNIX Server</font></h2>
<h3>File Locations</h3>
<ul>
<li><a href="/~fuku/">User FUKU</a>
</ul>
<br>
<hr>
</BODY><br>
</HTML><br>
※HTTPのエラーコード
| 100 |
サーバー処理中 |
| 101 |
より有効なプロトコルの切り替えを通知 |
| 200 |
正常終了 |
| 201 |
PUTリクエストに対するレスポンスで新規にファイルをなどを作成したことを通知 |
| 202 |
リクエストを受けつけたことだけを通知 |
| 203 |
エンティティヘッダー情報がオリジナルとは異なる |
| 204 |
処理は成功したが送信するデータがない |
| 205 |
クライアントが現在処理中のページを初期状態に戻す |
| 206 |
レンジ検索の成功 |
| 300 |
ファイルなどのレスポンスデータを複数の形で表現できることを通知し、クライアントが最適な形式を選択できるようにする |
| 301 |
リクエストされたファイルなどが別の場所に恒久的に移動 |
| 302 |
リクエストされたファイルなどが別の場所に一次的に移動 |
| 303 |
別のURLに対して検索要求リクエストをだすことを要求 |
| 304 |
GETリクエストに対するレスポンスで要求されたファイルが変更されていないことを通知 |
| 305 |
プロキシ経由でリクエストしなければならないことを通知 |
| 400 |
リクエストが不正 |
| 401 |
ユーザー認証失敗 |
| 402 |
(予約) |
| 403 |
アクセス権限がない |
| 404 |
リソースが存在しない |
| 405 |
リクエストメッソドが不正 |
| 406 |
レスポンスはリクエスト中にあるACCEPT−*ヘッダーで指定されたものではない |
| 407 |
プロキシを利用するのにユーザー認証が必要 |
| 408 |
タイムアウト |
| 409 |
ファイルなどの状態に矛盾が生じているために処理不可能 |
| 410 |
ファイルなどが現在も将来も利用不可能 |
| 411 |
リクエスト中にContent-Length指定が必要なことを通知 |
| 412 |
リクエスト中の条件付ヘッダーのひとつが「偽」である |
| 413 |
リクエスト中のエンティティが大きすぎて受けつけられない |
| 414 |
リクエスト中のURLが長すぎて受け付けられない |
| 415 |
フォーマットが未サポート |
| 500 |
サーバーの内部エラー |
| 501 |
サーバーが対応していないリクエストメソッドを受信 |
| 502 |
ゲートウェイが不正 |
| 503 |
サービスが停止中 |
| 504 |
ゲートウェイがタイムアウト |
| 505 |
HTTPバージョンが未サポート |
[戻る]