問題タブ [raw-ethernet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - sockaddr_ll を満たす raw イーサネット ソケット
socket() を呼び出すときに、PF_PACKET と SOCK_RAW およびカスタム プロトコルを使用して、サーバー/クライアント ソフトウェアを構築しています。
クライアントソフトウェアで同じ方法でソケットを作成し、そのソケットからrcvを実行するだけでデータを取得できます
私の質問は、クライアントから返信するときに取得した送信元MACアドレスが11:11:00:00:00:00のような奇妙なものであるため、サーバーと同じ方法でsockaddr_ll構造体に入力する必要があるかどうかです。もちろん、これは私のクライアントのMACではありません
これが何が起こるか知っている人はいますか?ソケットを開く
これが私がデータを受け取る方法です
したがって、これは基本的に、構造体 sockaddr_ll を埋めずにクライアントでデータを受信する方法です
サーバープログラムの場合、構造体を埋める必要があります
私の質問は、示されているように受信し、示されているように送信し、サーバーに返信するときに、送信のためにサーバーで使用されているのと同じ関数を呼び出すと、クライアントの返信を受信するときに 11:11:00:00:00:00 を取得することです
c - イーサネットフレームを転送するには?
友達にデータを送りたい。私は彼のIPアドレスを知りません。しかし、私は彼のMACアドレスを知っています。そのため、イーサネット フレームを使用してデータを送信する必要があります。
プログラムを書いたのですが、うまくいきません。どこに問題があるのか わかりませんでしたか?私はどこで間違いをしましたか?
クライアント側フレーム送信:
サーバー側のフレーム受信コード:
windows - 署名付きドライバーを使用しない Windows 7 64 ビットでの ndisprot
署名付きドライバーを作成する前に、開発用に Windows 7 64 ビットで ndisprot 6 を実行できる可能性があると聞きました。誰かがこれを手伝ってくれますか?署名されたドライバーを作成することは、私が望んでいるものではありません。
Windows 32 ビットで問題なく ndisprot サンプル ドライバーを使用しています。未変更のサンプル ドライバーを開発/実行できるように Windows を構成する方法を教えてください。署名済みのサンプル ドライバーがあれば、それもありがたいです。
c - イーサネット モデムの実装方法
さて、私がやりたいことは、トレーニング演習として、このようなものを実装することです
クライアント-- イーサネット -->モデム 1 --GPIO -->モデム2 -- イーサネット -->自宅のルーター
クライアントがイーサネット ケーブルを使用して Modem1 に接続する場所。
Modem1 は Raberry PI で、信号を変換して GPIO 経由で中継します
Modem2 は Raberry PI で、GPIO からデータを受信し、イーサネット ケーブル経由で自宅のルーターに送信します
モデムを実装したいのですが、どこから始めればよいかわかりません。
イーサネットプログラミングについて少し読んだことがありますが、「単純なもの」のような答えはまだ見つかりません。
Modem1 がクライアントに接続されたときにクライアントがそれをインターネット接続として検出するように実装するにはどうすればよいですか。
Modem2 側で、「My Home Router」に「クライアント」向けのパケットを Modem2 に送信させて、Modem2 がパケットを転送できるようにするにはどうすればよいですか。
そしておそらく私が考えていないこと....
では、具体的にどのように実装すればよいのでしょうか。できればcで。
tcp-ip - SLIP 経由で受信したパケットとイーサネットから受信したパケットのフォーマットに違いはありますか?
SLIP 経由で uip デバイスに ping を実行すると、uart に次のようなパケットが表示されます。
コードから、このイーサネット ヘッダーは、dest addr、src addr、および type で構成されると想定されます。ただし、パケットを処理するには、タイプを 0x0008 にする必要がありますが、明らかに 0xa8c0 (uip_buf [13:12] または uip_buf [17:16]) です。したがって、比較は常に失敗します。
比較を行う行は、イーサネットの実装からのものです... SLIP 経由で送信される場合、タイプ フィールドが異なる可能性はありますか?
ethernet - ケーブルを取り外して再接続した後、Pcap が奇妙なパケットを生成する
回線を物理的に引き抜いて再接続した後、pcap (私は C でプログラミングしています) は実際には存在しない可能性が高いパケットを生成し、進行中のすべての「通常の」トラフィックを逃します。ネットワーク上に 2 つのノードがあり、それらは純粋なイーサネット フレームと話し続けており、スニファー ノードからケーブルを引き抜いても 100% 影響を受けません。フィルターやタイムアウトなしでプレーンなバニラ pcap_loop() を使用しています。これを行っても pcap_loop() は終了しません。物理接続がない場合、インターフェイスへのハンドル (pcap_t 記述子) は無効になりますか? 切断されたインターフェースで pcap がどのように反応するかを知っている人はいますか?