問題タブ [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.
java - Java 経由で UDP パケットを送信する
ラップトップのイーサネット ケーブルを介して PC から FPGA に UDP パケットを送信しようとしています。Java の DatagramPacket と DatagramSocket を使用して UDP パケットを送信しています。ただし、これらのパケットは私のラップトップのワイヤレス インターフェイス経由でのみ送信されます。パケットがイーサネット インターフェイスを通過するように指定するにはどうすればよいですか?
ありがとうございました。
java - Raw Ethernet 用の Java ライブラリ
読み取りと送信の両方で生のイーサネット フレームにアクセスできる Java ライブラリを探しています。私の最終的な目標は、BACnet イーサネット ネットワーク スキャナーを作成することです。
注意してください、私は TCP\IP を探しているわけではありません。
これを行うための優れたライブラリを知っている人はいますか?
networking - ip(IPv4)データグラムのビットを転送する
イーサネットのビットはLSBファースト方式で転送されますが、IPv4データグラムはビッグエンディアンのバイトオーダーで送信されます。
たとえば、宛先アドレスが12-34-56-78-9A-BCで、データフィールドにIPデータグラムを伝送するイーサネットフレームを想定します。私が理解しているように、ビットが送信される順序は次のとおりです。
プリアンブル-SFD-宛先アドレス----(イーサネットヘッダーの残りの部分)----(イーサネットデータ)
プリアンブル-SFD-宛先アドレス----(イーサネットヘッダーの残り)----バージョン----ヘッダー長----(IPデータグラムの残り)
プリアンブル-SFD-12-34-56-78-9A-BC----(イーサネットヘッダーの残りの部分)---- 4 ---- 15 ----(IPデータグラムの残りの部分)
質問1:次の送信のうち正しいものはどれですか?
最初に各バイトにLSBが含まれるワイヤ上のイーサネットフレームの送信
プリアンブル-SFD-01001000010110001101010 00011110 01011001 00111101 ----(イーサネットヘッダーの残りの部分)---- 11110010 ----(IPデータグラムの残りの部分)
各バイトが最初にLSBであるが、IPヘッダーが最初に各バイトでMSBとして転送されるワイヤ上のイーサネットフレームの送信
プリアンブル-SFD-01001000010110001101010 00011110 01011001 00111101 ----(イーサネットヘッダーの残り)---- 01001111 ----(IPデータグラムの残り)
質問2:イーサネットフレームは最初に各バイトのLSBで送信されるので、データ部分のビット(IPv4データグラム)も最初に各バイトのLSBとして転送されますか?
はいの場合、IPv4データグラムがビッグエンディアンのバイトオーダーで転送されると言うのはなぜですか
tcp - イーサネット経由のビデオ ストリーム
1 ギガビット イーサネット ケーブルで相互に接続された複数のビデオ サーバーがあります。ビデオ クリップは、あるサーバーから別のサーバーまたはライブ ブロードキャストに送信できます。HD ビデオ フレームのリアルタイム転送を実現するには、どのプロトコル (UDP、TCP...) を使用する必要がありますか?
perl - Perlで利用可能なイーサネットNICを印刷するにはどうすればよいですか?
Linuxマシンにある利用可能なイーサネットカードを実際に印刷できるかどうか疑問に思いました。これまで、「ifconfig」コマンドから「Grep」について読んだことがあります。
「Net::IP」または「IO::Socket」を使用する必要がありますか?私はこのプログラミング言語に慣れていないので、誰かがこれを行う方法についてアドバイスを与えることができますか?
混乱させてすみません!しかし、perlスクリプトを実行した後、ターミナルで直接「eth0」または「eth1」のように印刷するスクリプトが必要です。
ありがとう!
ethernet - 誤ったARP要求を生成するソフトウェア?
編集:serverfaultで回答しました。ありがとう!
私がテストしている製品は、送信者IPアドレスが0.0.0.0のARP要求を受信すると、おかしくなりそうです。リクエストは私のモジュールにアドレス指定されているため、これはARPプローブではありません。顧客のシステムは、モジュールのIPアドレスとは異なる独自の有効なIPアドレスの使用を開始する直前にリクエストを送信します。問題は、顧客のサイトに移動するのではなく、ラボでそれを再現することです。
偽のアドレスからARP要求を生成するために使用できるソフトウェアはありますか?これは、ARPスプーフィングと似ていますが、まったく同じではありません。これは、応答ではなく要求を偽造しようとしているためです。なりすましツールのいずれかにこの機能がありますか?または、WindowsまたはLinuxにARPプローブを送信させる方法はありますか?
linux - Linuxでイーサネットステータスを判断するために「システムコール」を使用する方法は?
通常、私はpingを使用して、次のようにイーサネットステータスを判別します。
システムコールを使用してイーサネットステータスを判断するにはどうすればよいですか?そして、どうすればこのメソッドをJavaコードに埋め込むことができるでしょうか。
file - ギガビット LAN イーサネット ファイル転送での非同期速度
イーサネット ケーブルを介して相互に接続された 2 台のコンピュータ間でファイルを転送する際に奇妙な問題が発生します。どちらの PC にもオンボードのギガビット イーサネット ポートがあります。ハードウェアが異なることを除けば、ソフトウェア (特にネットワーク設定) は、Windows 7 x64 などでほぼ同じように構成されています。テストは、ウイルス対策プログラムを実行している場合と実行していない場合で行われましたが、違いはありませんでした。デュプレックス設定はオートネゴシエーションです。ジャンボ パケット (~9MB) が有効になっています (通常、非常に大きなファイルを転送しています)。コンピュータ内のローカル転送速度は約 100 MB/秒であるため、ハード ドライブは問題になりません。
PC1 で PC2 の共有ファイルにアクセスしている場合: PC1 から PC2 へのファイル転送は非常に高速で、通常は 60 MB/s の範囲です (以下の LAN SpeedTest の結果を参照)。しかし、その逆 (PC2 から PC1 への転送) は非常に遅く、約 10 MB/秒です。 速度テスト 1
PC2 で PC1 にアクセスしている場合: PC2 から PC1 へのファイルの転送は遅い (以下の速度テストを参照してください。実際には、ファイルを転送して Windows から速度レポートを読んでいる場合よりも少し遅くなります)。反対の場合は高速です。 (最初のケースのように約 60 MB/秒) (ここにリンク 2 を投稿しますが、私は新しいので許可されません)
では、これは何が原因なのでしょうか?
ティア
ethernet - pcap ファイルからイーサネット層を削除するには?
Wireshark でキャプチャした pcap があります。結果からイーサネット層を削除する Wireshark の機能はありますか? またはそれを行うためのコマンドラインツールはありますか?
sockets - USB-イーサネットアダプタを介した生のイーサネットキャプチャのためのWiresharkの代替
(お詫び:WinPcapをアンインストールして再インストールしたところ、追加のインターフェイスが表示されました。提案はWireshark FAQにあります。元の質問は以下に残します。)
WireSharkを使用して、イーサネットパケットの内容をバイトレベル(カスタムFPGAベースのハードウェアの入出力)で調べます。ラップトップに2番目のイーサネットポートを追加するためのUSB-イーサネットアダプタがあります。これはEbayで購入した安価な中国製のデバイスでしたが、適切なドライバーを見つけたので、問題なく動作します。ただし、Windowsでは、WinPcap/WireSharkはUSB経由のイーサネットキャプチャをサポートしていません。
WireSharkをUSBキャプチャで動作させることができればいいのですが、私は生のイーサネットバイトを取得する別の方法を本当に探しています。tsharkから出力されたrawフレーム(Wiresharkコマンドライン)で動作するいくつかのperlスクリプトを設定しており、フレーム/バイトの任意のストリームから簡単にフィードできます。
誰かが似たようなことをしているのですか、それとも生のバイトを出力するためのきちんとした方法がありますか?
生のUSBバイトをスニッフィングしても問題ありませんが、イーサネットフレームを抽出するために誰かがすでにプログラム/スクリプトを作成しているとよいでしょう。私はperlを使用していますが、コンパイルされたアプリ、Python、C#、C ++、または..で問題ありません。