diff --git a/h00th00t.py b/h00th00t.py index 01c5ebd..0434d73 100644 --- a/h00th00t.py +++ b/h00th00t.py @@ -7,33 +7,37 @@ sender_bssid_mac = RandMAC() # used for source mac and bssid # send raw wifi beacon frames ## USAGE: -### beacon_raw(, , ) -### or -### beacon_raw(SSID=, reported_length=, interval_seconds=) +### beacon_raw(, , ) +### or +### beacon_raw(SSID=, reported_length=, interval_seconds=) ## DEFAULTS: -### SSID="PrincessPiNet" -### reported_length=13 -### interval_seconds=0.25 +### SSID="PrincessPiNet" +### reported_length=13 +### interval_seconds=0.25 def beacon_raw(SSID=b"PrincessPiNet", reported_length=13, interval_seconds=0.25): - # set the frame settings - # addr1 is destination (broadcast), addr2 is the source mac, addr3 is the bssid - dot11 = Dot11(type=0, subtype=8, addr1='ff:ff:ff:ff:ff:ff', addr2=sender_bssid_mac, addr3=sender_bssid_mac) # set the frame settings + # set the frame settings + # addr1 is destination (broadcast), addr2 is the source mac, addr3 is the bssid + dot11 = Dot11(type=0, subtype=8, addr1='ff:ff:ff:ff:ff:ff', addr2=sender_bssid_mac, addr3=sender_bssid_mac) # set the frame settings - # set ssid info - ssid_info = Dot11Elt(ID='SSID', info=RawVal(SSID), len=reported_length) # magic really happens here with Scapy's RawVal() function and the reported_length + # set ssid info + ssid_info = Dot11Elt(ID='SSID', info=RawVal(SSID), len=reported_length) # magic really happens here with Scapy's RawVal() function and the reported_length - # assemble the frame - frame = RadioTap()/dot11/Dot11Beacon()/ssid_info + # assemble the frame + frame = RadioTap()/dot11/Dot11Beacon()/ssid_info - # print info - print(f"FIRIN MY LAZORRRRRR\n\tSSID: {SSID}\n\treported length: {reported_length}\n\tinterval seconds: {interval_seconds}\n\tsender bssid/mac: {sender_bssid_mac}\n") + # print info + print(f"FIRIN MY LAZORRRRRR\n\tSSID: {SSID}\n\treported length: {reported_length}\n\tinterval seconds: {interval_seconds}\n\tsender bssid/mac: {sender_bssid_mac}\n") - # send it - sendp(frame, iface=iface, inter=interval_seconds, loop=1) # send on loop + # print packet + print("Packet to be sent:") + hexdump(frame) + + # send it + sendp(frame, iface=iface, inter=interval_seconds, loop=1) # send on loop # this can be most any value really experimentation is needed ssid_binary = 0b0101 # a few random bits to send as the SSID # please be careful with this, it can crash or damage your local wifi devices -# beacon_raw(ssid_binary) # send it! USE WITH EXTREME CARE +# beacon_raw(SSID=ssid_binary, reported_length=255) # send it! USE WITH EXTREME CARE # beacon_raw() # send dummy normal beacon for testing