ESP32 AP scanner and Packet Sniffer

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ธ.ค. 2024

ความคิดเห็น • 21

  • @stanleyyyyyyyyyyy
    @stanleyyyyyyyyyyy ปีที่แล้ว +2

    Very nicely done! Greetings from fellow embedded software engineer 👍

  • @summerfun6114
    @summerfun6114 3 หลายเดือนก่อน

    good job. I used TTGO T-Display got some thing in serial monitor, nothing on its screen, what can be?

  • @tomlynn1000
    @tomlynn1000 ปีที่แล้ว +4

    What interests me is a small and low power device such as what you are showing that will log the bluetooth and wifi mac addresses of people that come within range of the device. This could be used for geofence applications as well as securtiy.

    • @dash9computing
      @dash9computing  ปีที่แล้ว

      Yes! I like the low power too. The WiFi is only 2.4GHz but will catch most IOT devices, printers, etc. My ESP board doesn't have Bluetooth but I know you can sniff that too!

    • @FloridaMan02
      @FloridaMan02 10 หลายเดือนก่อน

      Have it alert in the presense of a list of mac addresses with wildcards. Will sell like crazy when criminals figure out it works as a cop detector.
      Taser, car, and some weapons have wifi or BLE.

  • @element4element4
    @element4element4 ปีที่แล้ว +1

    Do you know whether the ESP32 (Or the Raspberry Pi Pico W) is able to send raw packets? As in build any custom packet and send it. I'm pretty much a beginner here, but I believe that the ESP8266 is able to and some has used it for sending deauth and beacon frames.

    • @dash9computing
      @dash9computing  ปีที่แล้ว

      Hi! Yes it is possible! The ESP32 has built-in support for packet crafting and transmission. I have only done deauthentication by specifying the MAC address.
      Maybe you could adapt my code from the client deauth code here: github.com/bdash9/ESP32-Deauthroize-clients-script

    • @element4element4
      @element4element4 ปีที่แล้ว +1

      @@dash9computing This is very cool, thanks a lot for sharing. I will play with it when I get some time. It is always nice to be able to send raw packets to learn how the protocol works in great detail.

    • @element4element4
      @element4element4 ปีที่แล้ว

      ​@@dash9computing Hi again, I got a chance to play with your code. Maybe I misunderstand, but this is how I understand it. You have two different deauth functions going on.
      You make a access point from the ESP32 and use the esp_wifi_deauth_sta function to send deauth commands to devices connected to this AP. This clearly works, but is a limited function for this AP. And this function cannot be made to send any raw packet.
      The other one uses esp_wifi_80211_tx, to send a custom raw packet (in this case a deauth), which is what I am interested in. However, with this I get errors like "E (2154) wifi:invalid buffer".
      I tried to dig a bit further. In the official documentation it says "Currently only support for sending beacon/probe request/probe response/action and non-QoS data frame". So the SDK limits what kind of raw packets it allows to be sent.
      But then I found the "ESP32 Wi-Fi Penetration Tool" library that mentions this restriction. People have apparently found out, from reverse engineering, that the SDK has a function ieee80211_raw_frame_sanity_check that checks for allowed packets. One can apparently overwrite this function to always return false, but it might require using some specific version of the ESP32 SDK and special compiling details. See "Wi-Fi Stack Libraries (WSL) Bypasser component" (github.com/risinek/esp32-wifi-penetration-tool/tree/master/components/wsl_bypasser).
      Did you have to anything like this to make the esp_wifi_80211_tx function send deauth packets? Or do I misunderstand something?
      Thanks for the help!

    • @element4element4
      @element4element4 ปีที่แล้ว

      By adding
      extern "C" int ieee80211_raw_frame_sanity_check(int32_t arg, int32_t arg2, int32_t arg3) {
      return 0;
      }
      and adding some flags in the compiler config files I manage to make it compile and now I do not get the "wifi:invalid buffer" errors. Later I will check whether it is actually sending any packets. I still wonder whether this is how you got it to work too?

    • @dash9computing
      @dash9computing  ปีที่แล้ว

      I am not calling external C commands. I think you saw this but just incase....the code for my sniffer is here: github.com/bdash9/ESP32-packet-sniffer-tft-display

  • @zoeyzhang9866
    @zoeyzhang9866 ปีที่แล้ว

    Hi pal, if any custom PCBs are required for any of your upcoming projects? We'd love to sponsor some free ones to realize your final work together. (PCBWay zoey)

    • @enzofitzhume7320
      @enzofitzhume7320 ปีที่แล้ว +1

      PCBway supports the CCP!

    • @dash9computing
      @dash9computing  ปีที่แล้ว

      Thanks so much! I am ding some research and cooking up a project. Will be in touch. Cheers!

    • @UKsystems
      @UKsystems 8 หลายเดือนก่อน

      its a company in china lol enev us companies get stuff from there@@enzofitzhume7320

  • @browaruspierogus2182
    @browaruspierogus2182 ปีที่แล้ว

    wouldn't a regular tablet/laptop be better and easier for that?

    • @dash9computing
      @dash9computing  ปีที่แล้ว +1

      Absolutely! A laptop is much easier/better. I guess I saw this as more of a proof of concept and learning tool than an improvement. Maybe this could be useful if it forwarded the captures to a data store of some sort. Still, not better than a laptop for most applications as it only has a 2.4GHz wifi interface. . I have, in the past, had to leave my laptop in a machine room over night. Would have been cool if the ESP32 could have done the same thing :)

    • @browaruspierogus2182
      @browaruspierogus2182 ปีที่แล้ว

      @@dash9computing try connecting esp32 to HD mipi screen - that would be something impressive

  • @chrisrschroeder
    @chrisrschroeder 6 หลายเดือนก่อน

    Thank you for putting this together along with the Github repositories. I was just trying it out and it looks like you made a LinkedList.h which is not in your github. around line 208 you have #include

    • @dash9computing
      @dash9computing  6 หลายเดือนก่อน

      Hi Chris, I just uploaded LinkedList.h to the repo. Please let me know how it goes. Thanks, ben