REPLY - みる会図書館


検索対象: UNIX MAGAZINE 2005年5月号
8件見つかりました。

1. UNIX MAGAZINE 2005年5月号

自ファイ井偏集 ( 印表示 OØキャプチャ 0 モニタツ司し (I) 設定 0 ウインヘルプ - x 物い 34 パイト、■ はー 9 LAN 受信先アドレスマ受信 ... マ プロトコルマサマリ 発信元アドレスマ発信 . フレーム ID マ 2 1 Ⅱ nux 1 1 66 FTP REPLY 2 2 0 300 se rve rl COMMAND USER 323 linux 1 1 66 serverl 2 1 FTP 2 1 Ⅱ nux 1 1 66 FTP REPLY 3 3 1 332 COMMAND PASS 3 & 4 Ⅱ nux 1 1 66 2 1 FTP 2 1 Ⅱ nux 1 1 66 FTP REPLY 2 3 0 367 rve I¯ L i nux 特集 FTP のトラブル・シューティング 図 8 FTP 通信の様子 (Linux) ・・ ASTEC Eyes,e 併ャプチャデタく ftp—linux-enc>, ] 回区 ーバーへのログイン サ CDMMÅNO SYST 第 370 linux FTP 1 166 1 1 66 FTP 1 1 66 FTP 2 1 FTP 1 1 66 FTP 21 FTP 1 1 FTP 1 1 訂 FTP DATA FTP DATA 1 1 7 1 1 67 FTP DATA FTP DATA 1 1 67 1 1 FTP 1 1 FTP ーバー情報の取得 サ ードの設定 転送モ REPLY 215 COMMAND TYPE REPLY 2 圓 COMMAND PASV REPLY 227 COMMAND RETR REPLY 150 1448 byte(s) 1448 byte に ) 1448 byte(s) 1422 byte(s) REPLY 226 COMMAND 囲 IT REPLY 2 2 1 2 1 Ⅱ nux 1 1 圏 r 1 1 1 se r 1 21 Ⅱ nux 1 1 se r 1 2 1 Ⅱ nux 45013 Ⅱ nux Ⅱ nux 45013 45019 Ⅱ nux Ⅱ nux 45013 2 1 Ⅱ nux 1 1 圏 2 1 Ⅱ nux 3 7 1 r 1 Ⅱ nux 434 437 r 1 Ⅱ nux 440 442 r 1 450 Ⅱ nux 452 S:e r 1 se rve r 1 453 455 r 1 se rve r 1 453 453 「 1 se rve rl 4 503 Ⅱ nux se rl 5 1 0 ファイル転送 負 p の終了 W i ndows [ 6 / 2 田 ID : 370 hnux 今記Ⅳ e 「 1 FI 図 9 FTP 通信の様子 (Windows) ・を ASTEC Eyes 三ャプチャデータく ftp-windows.eれ0》 ] 自ファイル ( 日編集 ( 旦 ) 表示キャプチャ 0 モこタツル設定 0 ウインドウヘルプ ( 旦 ) おい 34 K パイト は 9 LAN ロ」当囲 @ 斗日↓副 フレーム ID マ発信元アドレスマ発信 .. マ受信先アドレスマ受信 .. マプロトコルマサマリ 2 1 COMMAND USER 3202 r 1 FTP REPLY 331 21 ⅵ ndows 3202 FTP COMMAND PASS 3202 rve r 1 2 1 FTP FTP REPLY 2 3 0 2 1 w i ndows 3202 COMMAND PORT 3202 se rve r 1 REPLY 2 0 0 2 1 W i ndOWS 3202 FTP COMMAND RETR se rve r 1 3202 REPLY 1 5 0 2 1 W i ndOWS 3202 FTP 1460 byte(s) 3 2 04 FTP DATA 20 W i ndows 1460 byte(s) 20 W i ndows 3204 FTP DATA 1460 byte(s) 3204 FTP DATA 20 W i ndows 1442 byte(s) 20 w i ndows 3204 FTP DATA REPLY 226 21 w i ndows 3202 FTP 21 FTP COMMAND 囲 I T 32 0 2 rve r 1 2 1 w i ndows 3202 FTP REPLY 2 2 1 凵 nux W i ndows REPLY 220 3202 FTP 2 ー windows 1 1 2 5 日「 r 1 1 3 1 w i ndows r 1 133 ⅲ ndows 168 rver 1 1 7 1 235 w i ndows se rver 1 236 w i ndows 237 rver 1 241 se rve r 1 242 1 2 43 se rve r 1 2 45 se rve r 1 2 46 「 1 2 5 4 278 w i ndows rl 273 バーへのログイン サー ファイル転送 代 p の終了 [ 1 / 16 ] ID : 1 1 2 s v 1 ー > w ows 21 2005.5 UNIX MAGAZ 工 NE

2. UNIX MAGAZINE 2005年5月号

FTP サーバー 通信の制御用 (TCP 21 番 ) 特集 FTP のトラブル・シューティンク 図 16 PORT リクエストを実行してからファイル車医をおこなうまでび里の流れ FTP クライアント データ転送用 通信の制御用 (TCP 3204 番 ) (TCP 3202 番 ) 192.168.0.4 、 TCP 3204 番 PORT リクエスト データ転送用 (TCP 20 番 ) REPLY 200 応答 ファイルを送ってください RETR リクエスト TCP SYN TCP SYN ACK 接続の確立 ( テータ 転送用のポートを開く ) TCP ACK REPLY 150 応答 ファイルを送信 図 17 クライアントとサーバー間にファイアウォールがある例 FTP クライアント テータ転送用 通信の制御用 192.168.0.4 TCP 3204 番 PORT リクエスト FTP サーバー 通信の制御用 ファイアウォール テータ転送用 REPLY 200 応答 ファイルを送ってください RETR リクエスト TCP SYN 接続できない . ミ応答 ぐ REPLY 425 Can't build data connection 27 UNIX MAGAZ 工 NE 2005 . 5

3. UNIX MAGAZINE 2005年5月号

特集 FTP のトラブル・シューティング 図 14 通信の帋とデータ輯医には異なるポートを使用する 回区 自ファイ非 ( 日偏集 ( 旦 ) 表示 キャプチャ 0 モニタツル (I) 設定 0 ウインドウヘルプ ( 印 9 LAN ロ可白住ー斗に副 ストリ ポート 1 マ マアドレス 2 マポート 2 マ : プロトコルマサマリ アドレス 1 マ ーム IDV 2 1 FTP REPLY 220 2 ⅲ ndows 3202 十 rl COMMAND USER 2 W i ndOWS 3202 rl 2 ⅵ ndows 3202 REPLY 331 COMMAND PASS 2 ⅵ ndows 3202 → r 1 2 i ndOWS 3202 十 se rve rl REPLY 230 2 ⅵ ndo 響 5 3202 se rve rl COMMAND PORT REPLY 200 2 W i ndOWS 3202 1 2 ⅵ ndows 3202 COMMAND RETR 2 w i ndows 3202 十 serverl REPLY 150 5822 byte(s) FTP DATA 3 W i ndOWS 3204 rve r 1 2 0 2 ⅵ ndows 3202 2 1 FTP COMMAND QU I T 2 i ndows 3202 1 2 1 FTP REPLY 22 1 FTP クライアント Linux W i ndows を ASTEC Eyes 以トリム (ftp-windows-enc)l 長さマ 1 ー FTP サーパー ファイル転送に使うポートは、 FTP のリクエストや応答を送るポートとは異なる 表 1 FTP で使用されるポート番号 プロトコル FTP クライアントのポート番号 FTP サー / ヾーのポート番号 21 番 3202 番 FTP 3204 番 20 番 FTP DATA ・ PORT リクエスト ・ PASV リクエスト のいずれかを使う 2 通りの方法があります。 ファイアウォールや NAT (Network Address Trans- lator) がある環境では、ファイアウォールのどちら側から 接続を試みるかによって、データ転送用の接続を確立でき たりできなかったりします。これが、 ftp プログラムの種 類や使い方によって、ファイル転送が失敗したり成功した りする原因です。 PORT リクエストを使った接続 まずは、 PORT リクエストを使った接続をみてみまし よっ。 図 15 は、 Windows の ftp プログラムでファイル中幻医 をしたときの通信を、 TCP レベルも含めて表示したもの です。ファイル中幻医の処理は、 1. PORT リクエスト 2. RETR リクエスト 3. 実際のファイル車幻医 の順におこなわれています。 PORT リクエストは、動的に決まる FTP クライアン ト側のポート番号と IP アドレスを、 FTP サーバーに伝え るためのものです。図 15 では、ファイル転送に使うアド レスとポート番号として、 . IP アドレス : 192.168.0.4 ・ポート番号 : TCP の 3204 番 を FTP サーバーに知らせています。 続いて、 FTP クライアントから RETR リクエストを実 行し、 FTP サーバーにファイルの車幻去を指示しています。 RETR リクエストの直後に TCP の通信が 3 回流れて いるのは、データ通信用のポートを開くため、サーバーか らクライアントに接続 ( 3 way handshake) をしているか らです。 データ車幻医用の接続カ寉立したら、 RETR リクエストに 対する応答 (REPLY 150 ) を、 FTP サーバーから FTP クライアントに返します。その後、データ転送用の接続を 25 UNIX MAGAZINE 2005.5

4. UNIX MAGAZINE 2005年5月号

図 18 PASV リクエストを使っ層 新回区 を 0 ASTEC Eyes 1 [ キャプチャデタく ftp—pasv-enc 〉 ] 自ファイル ( 日編集 ( 旦 ) 表示キャプチャ 0 モニタ ( 瓰ツル設定 0 ウインドウ ヘルプ凹 0 パイト ロ朝一言ー住 : 〇 9 当目↓む副 マ発 ... マ発 . マ受信 ... 受 . プ .. プサマリ 1 7 W i ndows 1 7 14 r2 21 FTP COMMAND TYPE 1 8 r2 2 1 ⅵ ndows 1 7 1 4 FTP REPLY 200 1 9 w i ndows 1 714 se rver2 21 FTP COMMAND PASV 2 1 W i ndows 1 7 1 5 se 12337 TCP S : 1715 D ニ 12337 SE 26 圓 628530 WIN : 16384 LEN=O SYN OPT 22 se r2 12337 ⅵ ndows 1 7 15 TCP S : 12397 D : 1715 SE 乍 1504240 圏 1 ACK : 2600628531 WIN : 24820 LEN=O SYN OPT 23 W i ndOWS 1 7 15 12397 TCP S : 1715 D 引 2397 SEQ : 26 圓 628531 ACK ニ 1504240882 WIN ニ 17520 LEN=O se r2 24 w i ndows 1 714 r2 COMMAND RETR 25 r2 2 1 w i ndows 1 7 1 4 FTP REPLY 1 5 0 1460 byte(s) 26 r2 12397 ⅵ ndows 17 15 FTP DATA 1460 byte(s) 27 se rve r2 12337 ⅵ ndows 1 7 15 FTP DATA 28 W i ndows 1 715 se r2 12337 TCP S 引 715 D : 12337 SE 乍 26 圓 628531 ACK : 1504243802 WIN : 17520 LEN=O 1460 byte(s) 23 r2 12397 ⅵ ndows 1 7 15 FTP DATA 14S0 byte(s) 30 se rve r2 12397 ⅵ ndows FTP DATA 1 7 1 5 FTP Repl y ー } と応答 PASV リクエスト クライアントから 接続 ファイル転送の 指示 ファイル 転送 REPLY 227 ー 20 2 1 W i ロ dOW 1 7 14 FTP File Transfer Protocol ( ー , 48 , 103 ) 227 Entering Passive Mode Host Add ress:— TCP Port: 1 2 397 データ転送に使う FTP サーバーの旧 アドレスとポート番号を、 PASV リクエ L i nux ストの応答でクライアントに知らせる [ 1 9 / 675 田 ID20 server2 ー > indows FTP PASV モードを使用すれば、ファイアウォールを経由し たファイル中幻医が可能です。ただし、 PASV モードをサポ ートしているかどうかは ftp プログラムの種類によって異 なります。 FTP クライアントがサポートしているコマン ドを確認したい場合は、プログラムを起動してから、、 help' コマンドを入力してください ( 図 20 ) 。 ータ転送に使用するポート番号と IP アドレスを含めたも のを返します。図 18 では、 ・ IP アドレス : FTP サーバー ( プログラム ) カ働作して いるホストの IP アドレス ポート番号 : TCP の 12397 番ポート を FTP クライアントへ返しています。 応答を受け取った FTP クライアントは、指定されたサ ーバーのポートに対してデータ転送用の新しい接続を確立 こまでは、ファイルが壊れたり、転送できないといっ します。 PORT リクエストによる接続とは異なり、ファ たトラブルの例を紹介しましたが、 FTP にはもう 1 つ大 イアウォールの内側にある FTP クライアントから接続を きな問題があります。 試みるので、拒否されることはありません。 FTP サーバーにアクセスする際には、パスワードの入 データ転送用の接続カ寉立されたら、 FTP クライアン 力を求められます : しかし、ーザーが入力した , 、スワー トから FTP サーバーへ RETR リクエストを送り、ファ ドは、、、そのまま ( つまりクリアテキストで ) ネットワー イルの輯医を要求します。 ク上を流れるため、誰かに知られてしまう危険があります。 FTP サーバーは RETR リクエストに応答を返すとと ftp プログラムは、入力したパスワード文字列を表示し もに、指定されたファイルを FTP クライアントへ送りま ません。ところが、ネットワーク・アナライザで通信を解 す。 析すると、クリアテキストで流れたパスワードが見えてし PASV リクエストからファイル車幻医までの曰車の処理を 図 19 に示します。 まいます。 バスワードが見えてしまう 28 UNIX MAGAZINE 2005.5

5. UNIX MAGAZINE 2005年5月号

図 15 PORT リクエストでテータ車医用のアドレスとポート番号を伝える 自ファイル偏集表示キャプチャ 0 モニタツし設定 0 ウインめ並 ヘルプ i 9 デモ用インタフェス 園住 ; 〇多 斗目に副 マ発 . マ受 ... マ受 . プロトコルマサマリ フ .. S ニ 3202 D : 21 SEQ : 3423 囲 5386 ACK : 1118321204 WIN : 64167 LEN:O 2 1 TCP ⅵ ndows 3202 se 136 w i ndows 3202 21 FTP COMMAND PAS 168 serverl 21 w i ndows 3202 FTP REPLY 230 1 71 S ニ 3202 D ニ 21 ニ 34239654 圓 ACK : 1118321223 WIN : & 4142 LEN=O 174 windows serve r 1 2 1 TCP 3202 REPLY 200 r 1 2 1 W i ndOWS 3202 FTP 236 COMMAND RETR ・←ファイル転送の指示 2 1 FTP 237 W i ndows 3202 S:e S : 20 D : 32D4 SE 1120737316 WIN : 26280 LEN:O SYN OPT 20 ⅲ ndows 3204 TCP 238 se rve rl S : 3204 D : 20 SE 舮 3431437402 ACK=1120737317 WIN ニ 64240 LEN:O SYN OP 20 TCP ⅲ ndows 3204 se 1 233 S : 20 D : 3204 SE 舮 1120737317 ACK ニ 3431437403 WIN : 26280 LEN:O serverl 20 w i ndows 3204 TCP 240 REPLY 1 50 serve r 1 21 W i ndows 3202 FTP 241 1460 byte(s) 20 ⅵ ndows 3204 FTP DATA 242 serverl 1460 byte(s) 3 2 04 FTP DATA 20 ⅵ ndows 243 S : 3204 D : 20 SE 舮 3431437403 ACK ニ 1120800237 WIN : 64240 LEN=O 3204 serverl 20 TCP 244 w i ndows ーメ 0 れしをユ - ′ - 、 File Transfer Protocol FTP Command FTP Command Pa ramete r 回区 0 ・ ASTEC Eyes ー [ キャプチャデタく ftp-windows-enc 〉 ] PORT リクエストと 応答 サーバーから接続 よ信 0 担 PܱT 響 i ndows 3202 235 を己「 ve r 1 2 1 FTP ファイル転送 を 0 PORT ( D Po rt ) (Host Addr ” s : 132.168.0.4 TCP Port : 3204 ) 132 ′ 1 68 , 0 , 4 , 1 2 , 132 PORT リクエストにより、データ 転送に使う旧アドレスとポート番 号を FTP サーバーへ知らせる のある環境で失敗するのは、 FTP サーノヾーから FTP クラ 使ってファイル転送が始まります。 イアントへ接続を試みるためです。この接続を逆向き、す ファイル転送に失敗するケース なわち FTP クライアントから FTP サーバーに向けてつ PORT リクエストからファイル転送までの一連の処理 なげるようにすれは凋題は解決します。 を図 16 に示します。 データ転送用のポートを開くときに、クライアントから この図から分かるように、 PORT リクエストを使った接 サーバーへ接続するには、 PASV リクエスト (passive コ 続では、データ転送用のポートを開く際に FTP サーバー マンド ) を使います。 から FTP クライアントへ接続しようとします。 図 18 は、 PASV リクエストを使ってファイル転送をし たときの通信を、 TCP レベルも含めて表示したものです。 ところが、 FTP サーバーがインターネット上にあって FTP クライアントとのあいだにファイアウォールなどが ファイル中幻去の処理は、 介在している場合、 FTP サーバーからの接続カ寸巨否されて 1. PASV リクエスト しまうと、データ車幻医用のポートを開くことができません。 2. RETR リクエスト このようなた態になると、 FTP のコマンドは実行でき 3. 実際のファイル転送 るのですが、ファイル転送やファイル一覧の表示など、デ の順におこなわれています。 ータ転送用のポートを使用する処理だけが失敗してしまい PASV モード (passive モードともいいます ) で通信す ます ( 図 17 ) 。 る FTP クライアントは、ファイル転送をおこなう前に PASV リクエストを使った接続 FTP サーバーへ PASV リクエストを送ります。 FTP サーバーは、 PASV リクエストの応答として、 PORT リクエストを使用した接続がファイアウォ ール し i nux [ 1 3 / 36 ] ID : 235 nqndovvs ー〉 serverl FTP 26 UNIX MAGAZ 工 NE 2005.5

6. UNIX MAGAZINE 2005年5月号

連載 / 旧 v6 の実装ー 0 図 1 ホーム電泉の対象となるホームエージェントのアドレスのオ鈺正 2175 if (IN6—IS—ADDR_UNSPECIFIED (&mbu—>mbu_paddr) ) { 2176 2177 2178 2179 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 / * we dO not know where to send a binding update. * / if ( (mbu—>mbu—flags & 工 P6MU_HOME) ! = 0 ) { er て 0 て = mip6-icmp6-dhaad—req—output (mbu—>mbu—hif) ; goto bu—send—bu—end ; * reply. * immediately after receiving DHAAD * a binding update will be sent panic ( 'ta peer address must be known when sending a binding update / * continue , anyway. * / if (error) { 2194 } 異常状態なので panic を呼び、カーネルを停止します。 2197 2198 2199 2202 2203 2204 m if mip6—create-ip6hdr (&mbu—>mbu—haddr , error = ENOBUFS ; = NULL ) { (m IPPROTO_NONE , 0 ) ; &mbu—>mbu—paddr , 2224 2226 2227 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 if NULL ( er て 0 て ) { goto free—ip6pktopts ; goto bu—send—bu—end ; 2 , 197 ~ 2 , 204 行目で、 mip6-create-ip6hdr() を使っ て、対応付け更新メッセージ用の IPv6 バケットをイ尉寺 3 ー る mbuf を確保します。 free —ip6pktopts : if (opt . ip6po-mh) FREE(opt . ip6po—mh, M_ 工 P60PT) ; bu_send_bu_end : return (error) ; 2207 2210 2211 2212 2216 2217 2218 ip6—initpktopts(&opt) ; mip6—ip6mu—create (&opt . ip6po-mh , error &mbu— >mbu_haddr , tmbu—>mbu—paddr , mbu—>mbu—hif ) ; if (error) { goto free—ip6pktopts ; m—freem(m) ; 2 , 197 行目で作成した IPv6 バケットと、 2 , 210 行目で 作成した対応付け更新メッセージを ip6-output() に渡し、 メッセージを送信します ( 2 222 ~ 2 , 240 行目 ) 。 ip6-pkt- opts 構造体の変数である opt には、作成された対応付け 更新メッセージがオ内されたままになっているので、 mip6 ー bu-send-bu() を抜けるときに、確保されていたメモリを 解放しなければなりません ( 2 , 235 ~ 2 , 236 行目 ) 。 2242 int 2243 mip6—bu—send—cbu(mbu) 2 , 207 ~ 2 , 218 行目で対応付け更新メッセージを作成し ます。対応付け更新メッセージは、 ip6-pkt 叩 ts 構造体 の ip6po-mh ポインタが示すメモリ領域に作成され、 ip6- output() の引数の 1 っとして渡されます。 mip6-ip6mu- create() が対応付け更新メッセージを作成する関数です。 mip6-ip6mu-create() については後述します。バケット の作成に失敗したら、 2 , 217 行目で処理を中断します。 2244 2245 { struct mip6—bu *mbu ; 2222 60 error = 1p6—output (m , &opt , NULL , 0 , NULL , NULL 一方、 mip6-bu-send-cbu() は、移動ノードカ涸定ノー ドに対応付け更新メッセージを送信するときに呼ばれます。 mbu は固定ノードに対する対応付け情報が内されたエン トリへのポインタです。 図 2 の 2 , 254 ~ 2 , 272 行目で対応付け更新メッセージを 作成し、 2 , 275 行目の ip6-output() で送信します。対応 UNIX MAGAZINE 2005.5

7. UNIX MAGAZINE 2005年5月号

特集 FTP のトラブル・シューティング 図 22 sftp プログラムはファイル車医を安全におこなえる 自ファイル ( E ) 偏集 ( 印表示キャプチャ 0 モニタ ( 迎ツール設定 0 ウインドウ ヘルプ旧 ) は一ラ LAN マ発信 ... マ 受 ... “プロ ... マ : サマリ 353 22 Ⅱ nux 1 2 1 4 SSH Ye rs i on Exchange serve 「 日 nux Yers i on Exchange 355 1 2 14 22 SSH server Binary packet (SSH_MSG_KEXINIT) ⅱ nux 22 SH 357 1 2 14 server Binary packet (SSH_MSG_KEXINIT) 358 22 Ⅱ nux 1 2 1 4 SH serve 「 田 nary Packet (SSH_MSG_K EX_DH_GEX_REQUEST ) 3 引 Ⅱ nux 1 2 14 22 SSH Binary Packet (SSH MSG_KEX_DH_GEX_GROUP) 362 22 Ⅱ nux 12 1 4 SH serve r 田 nary Packet (SH_MSG_K EX_DH_GEX_I N I T) 3 & 4 Ⅱ nux 1 2 14 22 SSH rve 「 田 nary packet (SSH_MSG_K EX_DH_GEX_REPLY) 12 1 4 371 22 Ⅱ nux SSH S:e r 田 nary Packet (SSH_MSG NEWK EYS ) 378 Ⅱ nux 1 2 14 22 SSH server 380 Ⅱ nux 1 2 14 22 SH Encrypt ed 田 nary Packet server 22 Ⅱ nux 381 12 1 4 SSH Encrypt ed 田 na ry Packet serve r 1214 SSH 384 22 Ⅱ nux Encrypted 田 nary Packet serve 「 つ 0 1 つ 1 00 凵 回区 を一 ASTEC Eyes ー { キャプチャデータく sftp.enc> ] SSH の処理 : 暗号化 / 復号 に使用する鍵 の決定などを おこなう 暗号化された FTP の通信 [Énciypt ed 田 ry Packe€ 22 SSH 383 Ⅱ nux 1 2 14 server 0 圓圓 20 OA 3 4 22 90 0 圓圓 30 000 圓 40 F2 & 0 ~ F8 8 日 83 9E 62 C5 04 04 4F 67 3 0 圓圓 50 27 30 10 2D ED 9C 22 8E 83 ED 0D 5C EI D5 37 62 000 圓 60 84 EI 9E 2C F4 4F 4E 8F 13 IE 衵 2 0 圓圓 70 93 44 52 D2 9B 71 7A 41 C4 CI 32 。 ~ 20 託 CB . .qzkA 0 圓圓 80 $ IC 圓圓 030 30 3 L i nux W i ndows PASV sft p b 0g. 当 b0N … {: [ 1 2 / 19 ] ID ・ 383 linux ー > server SS H 暗号化されているので通信内容は見えない 図 23 TFTP サーバーにキできないときの表示 (a) Ⅲ p の実行結果 linux$ tftp serverl tftp> put Syusyu . txt Transfer timed ou し . ・← TFTP サーバーに接続できずに 時間切れになった 用途には向いていません。 また、 FTP にくらべると機能がかなり少ないので、ユー ザーにとって使いやすいとはいえません。たとえば、 tftp にはファイル転送のための、、 get " と、、 put " コマンドはあ りますが、ディレクトリを移動する、、 cd" やファイル一覧 tftp> を表示する、、 ls " コマンドはありません。 (b) 負 p の実行結果 しかし、 TFTP は仕組みが単純なので、サーバー・プ linux$ ftp serverl ログラムが FTP よりも小さくてすみます。そのため、 f 亡 : connect : connection refused ftP> ・ネットワーク機器の誌定を取得したり、定を送り込む ・ネットワーク機器のファームウェアをインストールする ・ディスクレス・コンピュータ ( 端末 ) に OS をダウンロ ードする といった用途に使われています。 していきます。 最初は、ファイル転送で時間切れのエラーになったケー スです ( 図 23 ー a ) 。 tftp を起動した時点では何も起こりません。プロンプ 時間切れ tftp> それでは、 TFTP を使用する際にはまりがちな罠を紹介 はすぐに表示され、コマンドの入力カ河能な状態になりま 31 UNIX MAGAZINE 2005.5

8. UNIX MAGAZINE 2005年5月号

) 000 を込 ~ 、物 ) 「 0 を 0 鷲 0 社、′いメ、産ーを、 : い 1 に都 R , , ゞー製トをいりを BackgroundRunCmd. dll を登録するときにおこなわれ 図 3 本の結果 る。現在配布している最新版では、レジストリキーとして x 新物 Téを工第当第 、、 aRunCmd" を使うように変更してあるので、 これから G008 厄 - 新画。 新たにインストールするのなら regedit を実行する必要は 6 ウエプ全体から常 0 日本語のページを常 ウェブ ”物長ト′・・ d ををい 0 恥•ck 0 聞 0 。。。第”。ト聞 dk “・の常果約 67 件中 1 - 10 件目阯 12 明 なし、。 T 0 靃日い、 ! ーコ澱 0 礪ト旧作 64 。「市リ…・ [ こ要 : : にツを当す ] . :m 駅′を物れ 0 ー 00 の c 、お 00 を市第 my 朝を要れ、・朝をれを物ー 0 ′ keys をを 物 0 3 ・第 0 ”、駅Ⅳ朝”協を HKEY 0 [ A55E5.8 ) 0 0 朝 00 ー 0 ′日“ k 00 の・ C00 ー 0 ーー Me れリ H 聞 dk ー第 Su 第めれ一 ! 0 ・を 00 第を′レをリに・ h を転に .. 日 om 000 要第 30 リい新 0 新 0 をⅣ bc 0 れ信一当ま物物ー 95 , HKEY [ SES - OT ・ 0 朝 00 ー 0 「 yVB 0 Ⅷ礰 0 ート込 Co れ一 0 れ u 日ー編《 De ー製 : : 協を ( ー製 に 69 純 00- E7FF ・い…鹵リ b ( k 00 em 物 i 物はの一噛 0 ・ 0 nw 物 h . ーれ静当を、 , れ phv 、れ : / ロ / 00 第い 1 - がー 1 一足ま墨・・三やシは。 - ! 1 を : : こを 0 も .5 ヾ。 , 物ゞ 解決までの道のり 参考までに、解決にいたった過程を紹介しておこう。 このシェル拡張をアンインストールすると不具合が出な 図 4 キャッシュに残っていた質問 くなるので、原因がこのシェル拡張にあるのはほほ確実で HellO all! ある。この問題に直面する人は少ないだろうから、英文の l've created a shell extension thatis invoked when I ⅱに cl ick the ba 改 0 「 0 リ nd Of a 「引 de 「 The shell extension works fine... but l've found that when I click on the t'new folder" icon in ce 「 tain conditions 情報を探すほうがよさそうだと判断した。 (when t 「 ying tO create a new folder 斤 0n1 the "save file dialog") the shell extension that 1 created invoked... 田 opposed to a new ー 0 旧 e 「 being created. ls this 6 bug windows... 0 「 have i done something まず、ファイル保存ボックスを表示する関数の名前を調 W 「 ong? rm sure it's ロ Ot coincide 「 vce that my shell extension a 「 the new fOlder keys are in the same registry di 「 ectory i.e, HKEY_CLASSES_ROOT\Directorv\Background\shellex\ContextMenuHandlers べた。Ⅵⅱ n32 API には GetSaveFileName という関数 Suggestions 05 tO what the p 「 0 引 em may be would be helpful. thank you! があり、 . NET Framework には SaveFileDialog という Mary クラスがある。これらを使うことでファイル保存ポックス 図 5 赴への回答 朝、面 0 「師 5 。も u0 脅廴尋み。能 0 = 紀 - , 町朝ツ元帋イ カ剛乎び出せるようだ。 I know this 6 rather 后に e 「 eply to you 「 p 「 ob 厄「 n but I have experienced the same thing 「 ecently and finally worked out how こ 0 fix so 代 may help someone else. 次に、ファイル保存ボックスとシェル拡張の関係を調べ When you 「 eg te 「 your extension in HKEY_CLASSES_ROOT\Di 「 ecto 「 y\Backg 「 ound\shellex\ContextMenuHandIe 「 s, you るために、それぞれ下記の文字列をキーワードに指定して have tO choose a name 「 0 「 the key thatis _alphabetically_ before 'New% so that your key appears 日「 st. Google で検索してみた。 I was using a key called tZipScan' with my contextmenu handle 「 - 「 enaming it to 'aZipScan ・ fixed the New FO 旧 e 「 problem and didn't harm rny extension ・ 5 ope 「 at ion. Adri an Bhagat ・ getsavefilename ” shell extension ZipScan: Search Zip, CAB and other 鄧ⅳ e files ・ savefiledialog ” shell extension http://www.foobarsoftware.com/ ・ save file dialog ” shell extension [Rep!y][Email)[Get unkJ いイの・に 0 に ] しかし、求めている情報が書かれたページはみつからな れた、、 The Complete ldiot's Guide to Writing SheII かった。 Extensions ー Part VII" と題する記事であった。このペ 今度は、ファイル保存ボックスのカスタマイズ方法から ージを開き、、、 new folder" という文字列を探したがみつか 手、かりが得られるかもしれないと考え、キーワードを下 らない。そこで、 G 。。 gle のキャッシュを見たところ、ペ 己のように変えて検索してみた。カスタマイズ方法は分か ージの最後に図 4 の一文があった。その記事の掲示板への ったものの、シェル拡張に言及したページはやはりみあた 才高で、そのなかで私カ験した不具合とまさに同じこと らない。 カ斗及告さ楸解決策カ球められていた。しかし、 ・ customize getsavefilename new folder ” 回答はない。 そこで、さきほどの記事のページを開き、掲示板の過去 こで方針を変更し、シェル拡張のためにおこなったレ の才窘高をたどっていったところ、図 5 の回答カ甘高されて ジストリ登録とフォルダ作成の関連に言及したページを探 いた ( シェル拡張に関する記事力載されたのが 2000 年 してみた。このときのキーワードは以下のとおりである。 9 月、図 4 の質問カ甘高されたのが 2002 年 8 月、そして new folder ” ' ' directory*background*=> 図 5 の回答が才窘高されたのが 2004 年 6 月である ) 2 shellex*contextmenuhandlers ” 2 じつは、このシェル拡張を書いたときも同じような経験をした。その際は、 検索結果 ( 図 3 ) のトップに表示されたのは、 2000 年 9 Google グループ (http://groups ・ google ・ com/) で解 ) 手、か 月に、、 The Code Project" という Web サイトに掲載さ りカられた。 一三ロ 0 148 UN 工 X MAGAZINE 2005.5