私は最近、ネットワーキングでいくつかのクラスを取った(CCNA 1〜4)ので、私はそれの背後にある理論の大部分を理解しています。私が今したいのは、私が持っている知識を取り入れて、小さなアプリケーションの形で実践することです。
私はこれを行う方法についてMSDNのいくつかの記事を読んできましたが、レイヤ3または4以上のIIRCのネットワークプログラミングだけをカバーするようです。 単純 ホスト間のレイヤー2接続(つまりフレーミング)を扱う方法の例、またはイーサネットブロードキャストの実行方法のような単純なものですらあります。
私はC#とC ++で少し経験があるので、どちらかの言語を使用する例は素晴らしいでしょう。
ありがとう。
回答:
回答№1は4Windowsの場合は、見てください WinPcap 低レベルのネットワークアクセスを提供します。デベロッパーパックには、既に簡単な例がいくつか用意されています。
ところで、Linuxでは パケットソケット.
回答№2については4
あなたは eExネットワークライブラリ 小さなアプリを書く(私は自分のCCNAで同じことをしている)。
これは使いやすいオブジェクト指向の.Netプログラミングライブラリで、レイヤ2に移動してWinPcap経由でカスタムフレームを送信することができます。
イーサネット、ARP、IP、UDP、TCP、RIPなどのフレームタイプが実装されています。私が知る限り、これらはCCNAで発生するプロトコルです。
C#のチュートリアルは利用可能です ここにまた、アドレス解決のような詳細を見るには、ライブラリがオープンソースなので、いつでもソースコードを見ることができます。
回答№3の場合は1
おそらく、あなたは低レベルのネットワークを勉強することができますユーティリティをGNU / Linuxシステム上で実行するか、カーネルのTCPまたはUDPまたはIPレイヤーを調べます。しかし、例えば、イーサネット(登録商標)放送を行うことは非常に低レベルであり、あまり有用ではない。そして、実際の例(通常C言語ではなくC言語でコード化されています)は、おそらくエラー処理に対処する必要があるため単純なことはできません。