生のイーサネットブロードキャストを意味する場合、純粋なJavaからはできません。(ところで、あなたの質問はこれの複製ですか:WLANのアクセスポイント、JavaまたはAndroidによって送信されたビーコンフレームの情報を読み取るまたは取得するにはどうすればよいですか?)
raw ソケットの場合、(実行するプラットフォームがわかっている場合) 簡単な方法は、残りの Java システムへの適切なインターフェイスを使用して、ネイティブ コードで直接実行することです。
より複雑なオプションは、ネイティブ コードをサブクラスで java.net.Socket にラップすることです。これにより、コードの残りの部分に対する標準インターフェイスが提供されますが、実装する Socket インターフェイスの量と実装方法によっては注意が必要な場合があります。アドレッシングの規則に依存する余裕があり、呼び出しコードが正しいことを確認します。
3 番目のオプションは、生のイーサネットに既存のライブラリを使用することです。たとえば、次の回答を参照してください。
raw ソケットを開くための特権の簡単な説明については、たとえば、
raw イーサネット フレームの送信/受信を参照してください。
更新: イーサネット (プログラミング) に関する詳細: コメントで質問。
まず、イーサネット フレームに関するウィキペディアの記事 ( http://en.wikipedia.org/wiki/Ethernet_frame ) は、プロトコルの優れた紹介です。
プログラミングに関しては、socket(2) の man ページから始めて、SOCK_RAW について読むのが退屈な答えです。raw ソケットを作成した後、基本的にフレームを (バイト配列として) 作成し、write(2) または sendto(2) のいずれかを使用して送信し、read(2) または recvfrom(2) で読み取ります。ウィキペディアの記事を使用して、イーサネット フレームを作成するときに適切な形式を取得してください。
Python でのプログラミングの場合、「raw ethernet python」の上位 3 つの Google 検索結果は次のとおりです。
それは合理的な出発点のようです。
もう少し包括的な記事については、
http: //www.binarytides.com/python-packet-sniffer-code-linux/ を読む価値があります。