2012-03-05 10 views
1

ファイル内容を転送するためのファイル転送プロトコルのように動作するBSDソケットでプログラムを書く必要があります。クライアントとサーバーの間に2つのTCP接続を使用する必要があります。CでBSDソケットを使用したFTPの実装

コードではない場合は、実装のフローチャートやアルゴリズムなどの参考資料をご提供ください。

+0

なぜ既存のFTP APIを使用するだけではないのですか? – EJP

答えて

3

hereのFTPドキュメントを参照してください。

1

ヒストリカルFTPの実装を遵守する必要がある場合は、ard's answerが役立ちます。攻撃者がTCPポートスキャンを実行する際にIPアドレスを「隠す」ことを可能にするFTP bounce vulnerabilityが実装に含まれていないことを確認してください。

しかし、2つの接続の方法が間違っていることをお勧めします。NATトラバーサルをかなり複雑にします。さらに、歴史的なFTP仕様ではディレクトリリストの形式が指定されていないため、グラフィカルツールを作成する意思を解析するのが難しくなります(人間の読者は混乱する可能性があります)。

SFTPプロトコルにはこれらの問題はありません。もちろん、それはかなり複雑です。ただし、NATファイアウォールをはるかに信頼性高くトラバースすることができ、明確な解析が可能です。

関連する問題