seemoo-lab / nexmon

The C-based Firmware Patching Framework for Broadcom/Cypress WiFi Chips that enables Monitor Mode, Frame Injection and much more
GNU General Public License v3.0
2.39k stars 448 forks source link

tcpdump for Monitor mode on Nexus 6P #245

Open spaul13 opened 6 years ago

spaul13 commented 6 years ago

I installed Nexmon app and properly installed all tools required on Nexus 6P (running Android 7.1.2).

1) While I run the command nexutil -m2 and I check the ifconfig before and after running the command, I found no change. What I was expecting wlan0 should show the PROMISCUOUS(/monitor) mode. Can anyone plz tell me why I am getting this? Then how can I make sure monitor mode enabled on Nexus 6P?

2) Secondly using the libfakeioctl.so, I want to run tcpdump so that I can get the tcpdump for all the devices connected to the same Wifi router. But I am getting packets for only the device where I am running the tcpdump.

The command I executed _LDPRELOAD=/su/xbin/libfakeioctl.so tcpdump -vv -i wlan0 Why am I not getting the tcpdump for all devices connected to the wifi-router with which I am connected now?

TheMMcOfficial commented 5 years ago

I think you should set your interface in monitor mode before running the tcpdump to be able to capture all the wifi trafic around you.

Do you have log or error on screen while you try to put the wifi chip in monitor mode ? Please paste your terminal output maybe someone will be able to help you if you give us more info.

Do you compile the latest app with the latest tools ? If it isn't the case please try it.

Exile666 commented 5 years ago

From my experimenting since ive re-built all tools and FW in my 7.1.2 nethunter install using ported oreo FW so im running the 7.112_300_14_sta on nougat. one thing you should try is running nexutil -m to see the state of the network adapter. And confirm which LD_PRELOAD is being sourced by runing echo $LD_PRELOAD (yes in caps and to see other veriables go to kali chroot and type $ then hit tab to see all options. They help scripting and all that too) but for me i thought i had to port oreo FW to get packet injection and that required libnexmon.so which is loaded with nexutil -m2 and i think nexutil -m1 loads libfakeioctl.so so try this. Reboot phone, go only to SUterminal, type echo $LD_PRELOAD then enter it should say libsigchain.so then run nexutil -m2 and then rerun echo $LD_PRELOAD it should say libnexmon.so or you.can try with nexutil -m1 and it should show libfakeioctl.so if either is true try running airodump-ng wlan0 without LD_preload= it should load it by itself. Then i noticed if the wlan0 shuts off and then on it resets echo $LD_PRELOAD and then wont source itself sometimes im not able to run any monitor mode command without LD_PRELOAD=libnexmon.so airodump-ng wlan0. it takes some time to.figure what works and what doesnt such as im confused abput quiet a fuw things such as why when i load LD_PRELOAD=/su/lib/libnexmon.so airodump i get a sh error something about wrong 64 bit binary but command still works...i think, havent tested enough yet but the 32 bit 64 bit error only happens when i load the libs from su or system or anywhere manually for that matter. I figure ill open my own issue ticket when i properly document my outputs and what i do exactly but hope this helps also sorry for any info thats not exactly correct im still.figuring all this out myself edit: seems it was setting the LD_PRELOAD by me not typing anything after LD_PRELOAD=libnexmon.so seeing how thats how you set variables i feel silly for missing this. None the less i seem to have gotten better packets with libnexmon.so with tcpdump after running nexutil -m0

TheMMcOfficial commented 5 years ago

I got an open issue about the 32 bits 64 bit. https://github.com/chrisk44/Hijacker/issues/53 https://github.com/seemoo-lab/nexmon/issues/195

Kalikungfu commented 5 years ago

No this is what to do >.........Downgrade to 7.1.2 im using pure nexus ..install firmware through apk or from nexmon on pc. Clone nexmon on the phone in nethunter chroot.  cd nexmon/utilities/libfakeioctl gcc -shared -o libfakeioctlkali.so -fPIC fakeioctl.c ../libnexio/libnexio.o -ldl You will be left with libfakeioctlkali.so, I place it in /system/xbin. Then run nexutil -m2 to enable nexmon, after that just write full path to libfakeioctlkali.so followed by whatever wireless program u want to run. example:>> LD_PRELOAD=/system/xbin/libfakeioctlkali.so wifite