Linux(ubuntu 12.04)でtftpアプリケーションを作成しています。Linuxでatftpサーバーを試し、wiresharkでパケットをキャプチャして、tftpサーバーの機能を理解しました。モードオプションで混乱しています。netascii、octet、mail などの tftp サーバーのすべてのモードを試しましたが、ネットワーク上でプレーン テキストが表示されます。それへのリンクを提供して、私を助けてください。データのチャンクを送信する前に、両端でエンコードまたはデコードする必要がありますか?
1 に答える
0
RFC 1350をお読みください
netascii (8 bit ascii)
octet (raw 8 bit bytes)
mail (The mail mode is obsolete and should not be implemented or used.)
netascii モードのデータを受信するホストは、データを独自の形式に変換する必要があります。オクテット モードは、ファイルの転送元のマシンの 8 ビット フォーマットのファイルを転送するために使用されます。各タイプのマシンには、より一般的な単一の 8 ビット形式があり、その形式が選択されていると想定されています。たとえば、36 ビット マシンである DEC-20 では、これは 4 ビットの破損を伴う 1 ワードに対して 4 つの 8 ビット バイトです。ホストがオクテット ファイルを受信し、それを返す場合、返されるファイルは元のファイルと同一でなければなりません。メール モードでは、ファイルの代わりにメール受信者の名前が使用され、WRQ で始まる必要があります。それ以外は netascii モードと同じです。メール受信者文字列は、「username」または「username@hostname」の形式にする必要があります。
ペイロードをエンコードする必要はありません。PC 環境にいる場合、エンコーディングを変更しても、wireshark キャプチャに違いは見られません。
于 2014-06-02T11:43:06.790 に答える