web-dev-qa-db-ja.com

プローブ要求フレームの送信|プローブ応答の受信-Scapy

[〜#〜]目的[〜#〜]

プローブ要求フレームを送信subtype=4とプローブ応答を受信subtype=5 Scapy付き

最終的な目標は、Scapyを介して近くのアクセスポイントを検出することです(ビーコンフレームをスニッフィングしないことにより

この目的は、プローブ要求を開始して応答を収集する方法を学ぶことです。

[〜#〜]試行回数[〜#〜]

可能な方法1

モニターモードのワイヤレスカード

応答を聞いてすぐに変数に記録できるすべての人にプローブ要求をブロードキャストします

packet = RadioTap()/Dot11(type=0,subtype=4,addr1="ff:ff:ff:ff:ff:ff", addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")
response = sr(packet)

可能な方法2

モニターモードのワイヤレスカード

プローブリクエストを聞くことができるすべての人にブロードキャストし、後で応答をスニッフィングします

packet = RadioTap()/Dot11(type=0,subtype=4,addr1="ff:ff:ff:ff:ff:ff", addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")
sendp(packet)
packets = sniff(count=50, timeout=30)

[〜#〜] issues [〜#〜]

METHOD 1もMETHOD 2も、私に成功した結果はありませんでした。私がこれについて正しく行っているかどうかは、私にはよくわかりません。 「プローブリクエストの傍受」に関するオンラインドキュメントをたくさん見つけましたが、これは私がやりたいことではありません。

5
ma77c

これは、「Dot11Elt」レイヤーを含めなかったためです。これを試してください。

RadioTap()/Dot11(type=0,subtype=4,addr1="ff:ff:ff:ff:ff:ff", addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")/Dot11Elt(ID="SSID", info="")

または:

RadioTap()/Dot11(addr1="ff:ff:ff:ff:ff:ff",addr2="00:11:22:33:44:55",addr3="ff:ff:ff:ff:ff:ff")/Dot11ProbeReq()/Dot11Elt(ID="SSID", info="")
2
MistSpark