筑波大学 システム情報工学研究科 コンピュータサイエンス専攻, 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~syspro/2011/2011-06-01/nntp.html
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~syspro/2011/
http://www.coins.tsukuba.ac.jp/~yas/
表2 NNTPの応答
応答コード | 説明 |
---|---|
100 | ヘルプのテキストが続く。 |
200 | 要求受け付け可能である(投稿可)。 |
201 | 要求受け付け可能である(投稿不可)。 |
205 | 通信路を切断する。 |
211 | ニュース・グループが選ばれた。記事の数、記事番号の上限、下限、ニュース・グループ名。 |
235 | 記事の転送は成功した。 |
335 | 記事を送れ。最後は、CR-LF . CR-LF 。 |
400 | サービスを中断する。 |
411 | そのようなニュース・グループがない。 |
421 | もうそのニュース・グループには次の記事がない。 |
435 | その記事は欲しくない。(もう既に受け取っている) |
436 | 転送に失敗した。後でもう一度転送しB$iて欲しい。 |
437 | 転送に失敗した。もう転送するな。 |
500 | コマンドが認識できなった。 |
501 | コマンドの文法に誤りがあった。 |
502 | アクセスが制限されている。 |
% telnet $NNTPSERVER 119ここで、強調で示した部分が、キーボードからのタイプである。 この例では、ホスト $NNTPSERVER のポート番号119(nntp)のポート に、TCP/IPにより接続を試みている。続く3行は、telnet コマンドによる定 型的な表示である。通信路が開設されると、サーバは、"Trying 130.158.80.241... Connected to gama.cs.tsukuba.ac.jp. Escape character is '^]'. 200 gama.is.tsukuba.ac.jp InterNetNews NNRP server INN 2.4.1 ready (posting ok). group fj.news.lists
211 16 61 87 fj.news.lists article 82
220 82 <active-newsgroups.part1.20060415@fj-news.org> article Path: gama.is.tsukuba.ac.jp!nadesico.cc.tsukuba.ac.jp!news-sv.sinet!newsfeed.mesh.ad.jp!newsgate1.web.ad.jp!news501.nifty.com!not-for-mail From: committee@fj-news.org Newsgroups: fj.news.lists,fj.news.group,fj.archives.documents Subject: Active Newsgroups List of fj (2006/04/15) Followup-To: fj.news.group Date: Sat, 15 Apr 2006 17:26:14 +0900 Organization: fj Newsgroups Management Committee Lines: 1091 Sender: tetsuzou@pop02.odn.ne.jp Approved: committee@fj-news.org Expires: 18 May 2006 00:00:00 +0900 Message-ID: <active-newsgroups.part1.20060415@fj-news.org> Reply-To: committee@fj-news.org NNTP-Posting-Host: nttkyo323082.tkyo.nt.ftth.ppp.infoweb.ne.jp Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit X-Trace: news511.nifty.com 1145089578 8225 58.1.129.82 (15 Apr 2006 08:26:18 GMT) X-Complaints-To: - NNTP-Posting-Date: Sat, 15 Apr 2006 08:26:18 +0000 (UTC) X-Posting-Software: WSNews 2.027 Xref: gama.is.tsukuba.ac.jp fj.news.lists:82 fj.news.group:89 fj.archives.documents:94 Archive-name: fj-news/active-newsgroups/part1 Original-author: saitoh@ics.es.osaka-u.ac.jp (SAITOH akinori) Last-change: 2005/11/16 by tetsuzou@pop02.odn.ne.jp fjのニュースグループの一覧とその解説 ・現在 fj にあるニュースグループ 411 個の名前と説明文です。 ・この文書は「JUNET利用の手引 (第1版)」に由来するもので、 現在はfjニュースグループ管理委員会(committee@fj-news.org)が 維持管理を担当しています。 出所 (題名と日付) を明示する限りにおいて、引用、転載、複製等は、 著作者等に断りなしに、自由におこなって構いません。 文書の一部を他の著作物に流用する等の利用は、完全に自由とします。 ・fjのニュースグループは、NGMP (NewsGroup Management Protocol) に 基づき、fjニュースグループ管理委員会が中心になって管理しています。 ほとんど使われなくなってしまったニュースグループも少なくありません。 何がほしいという要望と共に、統合や廃止をして、現状にあった、 皆が使い易い構成にしていきましょう。 ・憲章中の“(直接投稿できない)"という表記は、 そのニュースグループがmoderated groupsであることを意味しています。 moderatedについての詳細は、以下のWebサイトでご参照いただけます: http://www2s.biglobe.ne.jp/~kyashiki/fj/moderated.html ・古くから存在する一部のニュースグループには日本語憲章が付加されて いないものがあります。 . quit
205 . Connection closed by foreign host. %
![]()
200
"
という応答を返している。これは、NNTP で定義されている応答であり、サー
バが、要求を受け付け可能であり、かつ、要求としては投稿要求(POST)も受
け付けることを意味している。"200
" 以降の文字列は、コメン
トである。
接続されると、"group
" というコマンドをサーバに送っ
ている。これに対して、サーバは、"211
" という応答に続けて、
記事の数、記事番号の上限、下限、ニュース・グループ名を送っている。
次に "article
" コマンドを送っている。これによ
り記事が転送されている。記事の最後には、".
" からなる行が
ある。これが、article
コマンドに対する応答の終
りを示している。
最後に "quit
" というコマンドをサーバに送ってい
る。これにたいして、サーバは、205 という応答を返し、続いて TCP/IP の通
信路を切断している。その下の Connection closed...
は
telnet コマンドが生成したメッセージである。
参考
telnet コマンドを使って、NNTP サーバ orchid-c にアクセスし、 ネットワーク・ニュースの記事を画面に表示させなさい。その記事のニュース・ グループ、ニュース・グループ内の番号、記事の先頭の20行程度を報告書に添 付しなさい。このとき、表1に示したコマンド、GROUP と ARTICLE を使うと よい。
注意すべきこととして、GROUP コマンドでは、ニュース・グループ名を一度に 与えることがあげられる。たとえば、comp.sys.mac というニュース・グルー プならば、次のように、一度に全部のニュース・グループ名を与える。
GROUP comp.sys.mac
次のように、部分的に与えることはできない。
GROUP comp
GROUP sys
GROUP mac
vin や mnews では、ニュース・グループを階層構造を持つものとして利用者
に提示している。しかしながら、NNTP のレベルにおいては、そのような階層
構造は存在しない。
その他の NNTP のコマンドを使ってみなさい。NNTP の定義は、RFC977 という ドキュメントにある。
NNTPサーバから記事を1つ得るプログラムを作りなさい。そのプログラムの名 前を、nncat とする。
nncat コマンドは、次のように3つの引数を与えて利用するものとする。
% ./nncat host newsgroup number
ここで、host は、NNTPサーバが動いているホストの名前、newsgroup は、ニュー
ス・グループ、number は、記事番号である。NNTP プロトコルで用いられる標
準のポート番号は、119(nntp) である。getservbyname() で調べるとよい。
報告書には、作成した nncat コマンドの動作例を示しなさい。
NNTP では、本来、サーバからの応答を確認てから処理を進める必要がある。 この課題の範囲では、サーバからの応答を確認しないで命令を送ったとしても、 動作する可能性もある。
プログラムをつくる時には、行末の扱い(CR-LF)に注意し ないさい。