9

iPhone で ARP (Address Resolution Protocol) 要求パケットを生成し、関連する応答をリッスンしようとしています。

Google 検索で行き詰まりました。論理層パケットを送信するには、生のソケットに沿ったものが必要ですが、それらを作成するにはスーパーユーザーのアクセス許可が必要です。電話のジェイルブレイクを回避しようとしています。

これを行うことができるCコードはたくさんありますが、許可のためにiOSに変換できるものは見つかりません.

私が持っているいくつかのネットワーク検出アプリを Wireshark することにしたとき、私はタオルを投げる準備ができていました. つまり、「Fing」と「Pinggy」です (Fing と Pingy には脱帽です... 素晴らしいアプリです!)

https://itunes.apple.com/us/app/pinggy/id562201096?mt=8

https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8

これらの iPhone アプリと一緒に Wireshark を実行すると、XXX.XXX.X.0 から XXX.XXX.X.255 までの ARP スキャンが実行されることがわかります。「ARP」と同時に送信される ICMP パケットはありません。これにより、ARP パケットの送受信が iOS で実際に可能であると信じるようになりました。

ARP 要求を独自に生成すると仮定して、ping スイープについて考えました。ただし、応答をリッスンするには、まだ raw ソケットが必要ですよね?

質問: 論理層でパケットを送受信するために何が利用できますか? 具体的には、受信 ARP パケットを送信するには? 基本的なものが欠けていますか?

前もって感謝します!

4

2 に答える 2

3

問題のあるデバイスに ping を実行しようとすると、ARP 要求が送信されます。これは、ping スキャナーと並行して実行されている Wireshark セッションで見られました。以前に見た「欠落しているデバイス」を再現できないことがわかり、元の質問をするようになりました。

したがって、私自身の質問に答えるために、サブネットで単純な ping スキャンを実行すると、ARP 要求は IP アドレスごとに送信されます。ARP 要求 (Wireshark を使用) と ping 要求が送信されます。ARP 要求を生成する必要がある場合は、単純に ping を送信します。

「問題のある」デバイスが ping 要求に応答しない場合でも、ARP テーブルにはその存在が通知されます。

于 2013-04-24T19:49:48.010 に答える
1

あなたがしようとしていることはパブリック API にないため、やりたいことを実行して AppStore でアプリを取得することはできません。

したがって、独自のネットワークまたはエンタープライズ分散アプリでのテスト目的でできることの 1 つは、非公開/文書化されていない API を調べることです。

そのようなリストの 1 つがhttps://github.com/nst/iOS-Runtime-Headersで維持されていますが、その正確性は保証できません。

幸運を!

于 2013-04-24T19:57:06.657 に答える