next up previous contents
Next: 9.4 記事の形式 Up: 9. NetNews Previous: 9.2 用意するもの

9.3 Network News Transfer Protocol

mail を配送する時に使われるプロトコルが SMTP であったのに対し、News の 配送や読み出し、投稿に使われるプロトコルを NNTP (Network News Transfer Protocol) と言います。サーバー同士の通信やクライアント・サーバー間の 通信にこのプロトコルが使われます。通常、ニュースリーダーはこのプロトコル を使うようにプログラムされていますが、sendmail と同じように理解さえすれば 直接ニュースの投稿や読み出しを telnet を用いて行う事ができます。 ニュースの動作テストなどのためには一応の事を理解しておく必要があります。 NNTP で用いられるポート番号は 119 です。telnet を用いて、119 番のポートに アクセスするには、次のようにします。

	$ telnet hogehoge 119

接続すると相手のバージョン等が表示されますので、まず最初に help コマンドを 入力して、利用可能なコマンドを調べます。

ARTICLE     BODY         GROUP
HEAD        LAST         LIST
NEXT        POST         QUIT
STAT        NEWGROUPS    HELP
IHAVE       NEWNEWS      SLAVE

通常使う上で重要なものを順に説明します。

list

単独で使用すると、利用可能なニュースグループと最新の記事の番号、保持している 最初の記事の番号、フラグが順に表示されます。フラグは、Y は投稿可能、 M は moderated group と言い議長のいるグループ(後述)、n は投稿不可、 x は取り扱われないグループで記事は捨てられます、 =newsgroup の場合はニュースグループの別名を表します。ここで表示される 内容は実際には、active ファイルの内容です。

control 0000184958 0000184959 y
wakhok.test 0000000444 00442 y

group

このコマンドの後ろにニュースグループを指定することで、カレントのグループが 指定されます。また、指定したグループの active ファイルの該当行を表示します。

listgroup

このコマンドの後ろにニュースグループを指定することで、保持している記事の 番号が表示されます。表示形式は、group コマンドと違い、一行にひとつずつ表示 します。また、group コマンドでカレントを変更していて、引数なしの場合は、 カレントのニュースグループについて表示します。

article

記事の番号または Message-ID(Message-ID には < > が含まれます) を指定すると、カレントを変更した上で、 その記事を表示します。 何も指定しないと、カレントの記事を表示します。最初にグループを group コマンド で選択したときには、最初の記事にカレントは設定されています。

head

記事の番号または Message-ID を指定すると、カレントを変更し、 該当記事のヘッダー(後述)を表示します。

body

記事の番号または Message-ID を指定すると、カレントを変更し、 該当記事の中身を表示します。

next

カレントの記事を一つ進めます。

post

記事をポストします。但し、記事のヘッダーを含めてきちんと書かないといけません。 記事のヘッダーについては、次の節で詳しく解説します。

post
340 Ok
newsgroups: wakhok.test
from: kanayama@wakhok.ac.jp
subject: test4

this is a test.
.
240 Article posted

ちなみに、NNTP でのコマンド入力に対する応答では、最初に必ず応答番号がつき、 その後ろに解説がつきます。

記事の投稿の終了は、SMTP と同じく .(ピリオッド) です。



Noriyo Kanayama