7

私は最近、ネットワーキングのクラス (CCNA 1 から 4) をいくつか取ったので、その背景にある理論のほとんどを理解しています。私が今やりたいことは、私が持っている知識を取り入れて、いくつかの小さなアプリケーションの形で実践することです.

これを行う方法についてMSDNのいくつかの記事を読んでいますが、レイヤー3または4以上、IIRCでのネットワークプログラミングのみをカバーしているようです。私が探しているのは、ホスト間のレイヤー 2 接続 (つまり、フレーミング) を処理する方法のいくつかの簡単な例、またはイーサネット ブロードキャストを実行する方法のような単純なものです。

私は C# と C++ の経験が少しあるので、これらの言語のいずれかを使用する例は素晴らしいでしょう。

ありがとう。

4

3 に答える 3

5

eEx Network Libraryを使用して小さなアプリを作成することもできます (CCNA で同じことをしました)。

これは使いやすいオブジェクト指向の .Net プログラミング ライブラリであり、レイヤー 2 に降りて WinPcap 経由でカスタム フレームを送信できます。

イーサネット、ARP、IP、UDP、TCP、RIP などのフレーム タイプが実装されており、私の知る限り、これらは CCNA 中に発生するプロトコルです。

C# のチュートリアルはこちらから入手できます。アドレス解決などの詳細を確認したい場合は、ライブラリがオープン ソースであるため、いつでもソース コードを確認できます。

于 2011-10-16T13:53:28.423 に答える
5

Windows の場合は、低レベルのネットワーク アクセスを提供するWinPcapをご覧ください。開発者パックには、開始するためのいくつかの簡単な例が既に含まれています。

ところで、Linux にはpacket socketsがあります。

于 2011-10-16T11:29:23.967 に答える
1

おそらく、GNU/Linux システムで低レベルのネットワーク ユーティリティを調べたり、カーネルの TCP、UDP、または IP レイヤーを調べることもできます。しかし、たとえば、イーサネット ブロードキャストを行うことは非常に低レベルであり、あまり役に立ちません。また、実際の例 (通常は C++ ではなく C でコーディングされます) は、エラー処理を処理する必要があるため、おそらく単純ではありません。

于 2011-10-16T09:17:04.993 に答える