問題タブ [arp]
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++ - LinuxでのC++でのarping
誰かがcではなくc++で書かれたarpingapiまたはラッパーを知っているかどうか疑問に思っていましたか?libpcapライブラリを見てきましたが、可能であればc++の代替が必要です
http://www.tcpdump.org/pcap3_man.html
ありがとう
linux - 自作の Linux ブリッジ: arp リクエストが成功しない
Boost.Asio エクステンションを使用してブリッジ (レイヤー 2 スイッチ) を作成しました。タイプ要件を満たす追加のソケット、エンドポイント、およびプロトコルを簡単に作成できます。そして、私の拡張機能はAF_PACKET
、SOCK_RAW
およびで Linux パケット ソケットを使用しますhtons(ETH_P_ALL)
(パケット ソケットの詳細については、を参照man 7 packet
してください)。
私のブリッジがどのように機能するかを説明する例を次に示します。
ブリッジは、ネットワーク インターフェイス (例: eth0) IF1 と IF2 を接続し、PC1 が PC2 で実行されているブリッジを介して PC3 と通信できるようにします。インターフェイスを接続する方法は、受信したパケットを IF1 から IF2 に送信することです (逆も同様です)。
私のブリッジは、有線接続では期待どおりに動作しますが、無線接続では動作しません。そこで、この問題の原因を突き止めようとしたところ、ARP 要求がまったく成功しなかったことがわかりました。
この問題を引き起こす実際の環境は次のとおりです。
上記の環境下で、例えば今、PC1 は ping(ICMP) パケットを router1 に送信しようとします。PC3に送信するには、PC1はrouter1のMACアドレスを知っている必要があるため、PC1はARP要求を送信FF:FF:FF:FF:FF:FF
し、PC2で実行されているブリッジはeth0から受信してwlan0に送信しますが、router1はarp応答をPC1に送信しません.
注: SOCK_RAW パケットは、パケット データを変更せずにデバイス ドライバーとの間でやり取りされます。(パケットのマニュアルページから引用)
PC1 が router1 と通信できるようにするにはどうすればよいですか?
ありがとうございました。
編集:
これが私の Boost.Asio 拡張機能です。
github: pfpacket/libarex
そして、これは上記を使用した私のブリッジです。
libarex/example/layer2_switch/interface_bridge.cpp
linux - 特定の近隣の IPv6 NDP (近隣探索プロトコル) テーブルを照会する方法
私は Linux を使用しており、特定のエントリの NDP テーブルを (API 経由で) クエリする方法を見つけようとしています。これまでに (iproute2 のソースで) 見つけた唯一の例は、Netlink を使用してテーブル全体を取得します。特定のインターフェイスで特定の IPv6 アドレスについて Netlink にクエリを実行する方法はありますか? または、Netlink を使用する以外の別の方法がありますか?
networking - ESET - ARP キャッシュ ポイズニングとネットワーク内の同一 IP
私のESET SS5ファイアウォールは、過去24時間から同一のIPアドレスとARPキャッシュポイズニング攻撃を頻繁に(2分ごとに)検出し続けました
MiM として使用する方法やデフォルト ゲートウェイとして使用する方法など、ARP キャッシュ ポイズニング攻撃について調査しました。
そこで、Wireshark をインストールして、ネットワークのキャプチャを開始しました... キャプチャされたレコードの 90% は、さまざまなソースからさまざまな宛先への ARP ブロードキャスト パケットです。(コンピューター ネットワークの教科書から) 最新の ISP はパケットのブロードキャストを許可していないことを知りましたが、興味深いことに、キャプチャされたレコードの 90% は ARP パケットです。さらに、「デフォルト ゲートウェイ」は通常、LAN 内のルーター/スイッチです。その場合、なぜ、異なるコンピューターが異なる IP アドレスを要求して、MAC アドレスで応答するのでしょうか??
これがネットワーク プリンタを備えたネットワーク エリア (会社) である場合、ARP 要求によってこの IP を誰が持っているかをブロードキャストして尋ねることは合理的かもしれません。しかし、この場合、スプーフィング/ハッキングの目的でない限り、なぜ特定の IP アドレスが必要になるのでしょうか。
これらは私を悩ませ続けたポイントです..以下は質問です
- ISP は ARP パケットのブロードキャストを許可しますか??
- LAN (同じサブネット 183.82.xx.xx ) 内の他の IP を ARP 要求している IP アドレスは、これを引き起こしているウイルスに感染していますか??
- ファイアウォールがない場合、結果はどうなるでしょうか?? - // 不自由だけど知りたかった
ネットワークとハッキングに関する私の知識は中途半端です (まだ学習中です)。
java - Winpcap パケット転送。Java ラッパー
スイッチベースの LAN 内のターゲット ホストのトラフィックを傍受できる winpcap アプリケーションを構築しようとしています。
これを実行するために、ARP スプーフィングを実行しようとしています。このように、ターゲット ホストとゲッタウェイの間のメッセージは私を介して送信され、その後、それらを盗聴できるようになります。
スプーフィングがどのように機能するか、どの arp パケットを送信する必要があるか、およびそれらを送信する方法を知っています。問題は転送に関するものです。デフォルトでは、パケットは私の IP アドレス宛てではないため、私のマシンは到着時にパケットをドロップします。
IPEnableRouter の Windows レジストリ値について読みましたが、それを取得するためのコードが必要です。
WinPcap (jNetPcap、Jpcap) 用の Java ラッパー ライブラリを使用してきましたが、他の言語を使用することもできます。どちらのコンピュータにも Windows Vista がインストールされています。
c - CのパケットヘッダーデータからARPに参加しているマシンのMACアドレスとIPアドレスを取得するにはどうすればよいですか?
読んでくれてありがとう、
私は宿題の真っ最中です。そこでは、特に、キャプチャしたパケットに基づいてリモートマシンのMACアドレスとIPアドレスを決定する必要があります。pcap_loop関数を使用して、パケットの開始へのポインター(コールバック関数でu_char *として指定されている)を基準にした適切な構造体(この情報を提供するARPヘッダー)の場所を見つける必要があります。
パケットに関連するアドレスを持つether_arpなどの構造体を取得する方法に関する情報をオンラインで見つけることができませんでした。私を正しい方向に向けることができれば、信じられないほど役に立ちます。前述したように、これは宿題なので、完全な答えを探しているわけではありません。
助けてくれてありがとう!
.net - マネージコードでのARPリクエスト
(vb).NETのARPプロトコルの能力を活用して、自宅のLAN上のすべてのネットワークデバイスとそのハードウェア(MAC)アドレスのリストを作成しようとしています。サブネット上のすべてのIPアドレスを計算する方法はすでに理解していますが、ARP要求を送信して応答を読み取るためのクリーンな方法を見つけるのに行き詰まっています。
すべてのネットワークデバイスには、Windows以外のデバイス(スマートフォンなど)が含まれることに注意してください。これは、WMIが問題外であることを意味します。
どちらの方法がより面倒かわかりません。A)ネイティブIPヘルパーAPIをマネージコードでラップしてSendArpメソッドを使用するか、B)ARPキャッシュを埋めるために各ホストにpingリクエストを送信してからからの出力を解析しますarp.exe -a
。
マネージコードのみを使用してARP要求/応答を処理する方法を知っている人はいますか?ソケットオブジェクトと少しの魔法を使って実装するのはそれほど難しいことではないようですが、ARPAPIを提供するサードパーティのネットワークライブラリは見つかりませんでした。自分で作成するのに十分な知識がないのではないかと思います。
networking - ARP REQUEST パケットで使用される送信者 IP アドレスは何ですか?
したがって、ARP 要求パケットには、「192.168.1.1 を持っているのは誰ですか? 192.168.1.143 に伝えてください」というメッセージが含まれています。ただし、応答は IP アドレス 192.168.1.143 には「送信」されませんが、それに関連付けられた MAC アドレスに送信されます。送信者の IP アドレスを取得する目的は何ですか?
ありがとう。
linux - arp テーブルから MAC アドレスを取得するより良い方法はありますか?
IPアドレスを使用してarpテーブルからMACアドレスを取得したい。現在、私はこのコマンドを使用しています
このコマンドは、私が望むものを印刷します。しかし、私はそれに慣れていません。これを行うための組み込みの方法またはより安定した方法があるのではないかと思います。
c# - IPアドレスからMACアドレスを解決するためのASP.NETの組み込み関数はありますか
オフィスへの訪問者を記録するための簡単な内部 Web アプリケーションの開発を開始しようとしています。基本的に、彼らは AUP を読んでから、承認を示すために名前を入力します。アプリケーションは、Request.UserHostAddress() を使用して訪問者の IP も記録します。IP をログに記録するだけでなく、スクリプトを実行して、アプリケーションから取得した IP で DHCP を予約したいのですが、MAC アドレスも必要です。このアプリケーションは 1 つのサブネット内でのみ使用されます。訪問者には小さな DHCP 範囲を使用する予定です。
ARP 経由で IP から MAC アドレスを解決するために使用できる組み込み関数はありますか? 既存の関数がある場合、回避策を使用する必要はありません。
さて、参考までに、これは私がやったことです:
私はそれを
これは、Web サーバーがホストと同じサブネットにあることが保証されているためにのみ機能することに注意してください。また、これを Visual Web Developer でテストする場合は、テスト サーバーが UserHostAddress を ::1 (IPv6 ループバック アドレス) として返すことに注意してください。
しかし、主な質問に戻ります。それを行う他の方法はありますか?