calebmadrigal / trackerjacker

Like nmap for mapping wifi networks you're not connected to, plus device tracking
MIT License
2.62k stars 189 forks source link

Slight issue on Kali Linux 2018 #4

Open ghost opened 6 years ago

ghost commented 6 years ago

when I run:

...@kali:~/Downloads/trackerjacker-master$ pip3 install trackerjacker
Collecting trackerjacker Using cached https://files.pythonhosted.org/packages/b0/a9/70c7ec302ddb2928a982954cc49fa0c42b5ff833e23cd3eb4dfc371e41b0/trackerjacker-1.7.4.tar.gz Collecting pyaml>=17.12.1 (from trackerjacker) Using cached https://files.pythonhosted.org/packages/17/c1/5892f756109e54ed53c753129b0da4acf6b6add8dff5a85b18667553b16d/pyaml-17.12.1-py2.py3-none-any.whl Collecting ruamel.yaml>=0.15.35 (from trackerjacker) Using cached https://files.pythonhosted.org/packages/98/cc/ba3b6ccd0a4f6c51d128742fc5f0f43ae570d67174342578591c50f30013/ruamel.yaml-0.15.37-cp36-cp36m-manylinux1_x86_64.whl Collecting scapy-python3>=0.21 (from trackerjacker) Collecting PyYAML (from pyaml>=17.12.1->trackerjacker) Building wheels for collected packages: trackerjacker Running setup.py bdist_wheel for trackerjacker ... error Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-a181dxe4/trackerjacker/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmp683nwiyppip-wheel- --python-tag cp36: running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/trackerjacker copying trackerjacker/init.py -> build/lib/trackerjacker copying trackerjacker/dot11_mapper.py -> build/lib/trackerjacker copying trackerjacker/macos_device_management.py -> build/lib/trackerjacker copying trackerjacker/main.py -> build/lib/trackerjacker copying trackerjacker/config_management.py -> build/lib/trackerjacker copying trackerjacker/dot11_tracker.py -> build/lib/trackerjacker copying trackerjacker/ieee_mac_vendor_db.py -> build/lib/trackerjacker copying trackerjacker/plugin_parser.py -> build/lib/trackerjacker copying trackerjacker/common.py -> build/lib/trackerjacker copying trackerjacker/version.py -> build/lib/trackerjacker copying trackerjacker/device_management.py -> build/lib/trackerjacker copying trackerjacker/dot11_frame.py -> build/lib/trackerjacker running egg_info writing trackerjacker.egg-info/PKG-INFO writing dependency_links to trackerjacker.egg-info/dependency_links.txt writing entry points to trackerjacker.egg-info/entry_points.txt writing requirements to trackerjacker.egg-info/requires.txt writing top-level names to trackerjacker.egg-info/top_level.txt reading manifest file 'trackerjacker.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'trackerjacker.egg-info/SOURCES.txt' copying trackerjacker/oui.txt -> build/lib/trackerjacker installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/init.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/dot11_mapper.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/macos_device_management.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/main.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/config_management.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/dot11_tracker.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/ieee_mac_vendor_db.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/plugin_parser.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/common.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/version.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/device_management.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/dot11_frame.py -> build/bdist.linux-x86_64/wheel/trackerjacker copying build/lib/trackerjacker/oui.txt -> build/bdist.linux-x86_64/wheel/trackerjacker running install_egg_info Copying trackerjacker.egg-info to build/bdist.linux-x86_64/wheel/trackerjacker-1.7.4.egg-info running install_scripts Traceback (most recent call last): File "", line 1, in File "/tmp/pip-build-a181dxe4/trackerjacker/setup.py", line 53, in 'Operating System :: POSIX :: Linux' File "/usr/lib/python3/dist-packages/setuptools/init.py", line 129, in setup return distutils.core.setup(**attrs) File "/usr/lib/python3.6/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands self.run_command(cmd) File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 257, in run self.distinfo_dir) File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 427, in egg2dist distribution=self.distribution) File "/usr/lib/python3/dist-packages/wheel/metadata.py", line 177, in pkginfo_to_dict new_requirements = sorted(convert_requirements(requirements)) File "/usr/lib/python3/dist-packages/wheel/metadata.py", line 234, in convert_requirements parsed_requirement = pkg_resources.Requirement.parse(req) File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2988, in parse req, = parse_requirements(s) ValueError: not enough values to unpack (expected 1, got 0)


Failed building wheel for trackerjacker Running setup.py clean for trackerjacker Failed to build trackerjacker Installing collected packages: PyYAML, pyaml, ruamel.yaml, scapy-python3, trackerjacker Running setup.py install for trackerjacker ... done Successfully installed PyYAML-3.12 pyaml-17.12.1 ruamel.yaml-0.15.37 scapy-python3-0.23 trackerjacker-1.7.4 ....@kali:~/Downloads/trackerjacker-master$

Is that expected output ? Also would it be possible to add email alert for a specified device mac ?

Seems like a useful project!

Thanks in advance.

calebmadrigal commented 6 years ago

Hey @rafaleon69, thanks for reporting this. Very strange error, I'll have to look into it later. It looks like trackerjacker was still successfully installed though (based on that log)?

As for email output, you could use something like IFTTT to accomplish that (if Webhook, then email). With the IFTTT Webhook "service", you can just curl the url they specify to trigger something, which you could easily do from a script that you have trackerjacker call on matches with the --trigger-command or --trigger-plugin switches.

ghost commented 6 years ago

Thanks for a quick reply, I managed to get it installed by cloning the github repo and instaling using sudo python3 setup.py install. Seems to be working fine this way, although previous way returned errors as described yet still it ran, but i prefer to have no errors in my installation. Thanks for an advice, time to tinker, thanks a lot!

calebmadrigal commented 6 years ago

Sweet. Ya, I feel the same way about errors on installation. It's odd, because those errors are coming from stdlib files. Thanks for the update.

ghost commented 6 years ago

One more thing if I may contribute. When I run it on a RPi Kali linux it does not work with any of the wireless cards I tried:

root@RPiKali:~# trackerjacker -i wlan2 Map output file: wifi_map.yaml Monitoring all available channels on wlan2: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 36, 38, 40, 42, 44, 46, 48, 52, 56, 58, 60, 62, 64, 149, 153, 157, 161, 165] Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 235, in getattr fld, v = self.getfield_and_val(attr) TypeError: 'NoneType' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 235, in getattr fld, v = self.getfield_and_val(attr) TypeError: 'NoneType' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 235, in getattr fld, v = self.getfield_and_val(attr) TypeError: 'NoneType' object is not iterable

and so on for a couple of lines and then at the end:

Traceback (most recent call last): File "/usr/local/bin/trackerjacker", line 11, in load_entry_point('trackerjacker==1.7.4', 'console_scripts', 'trackerjacker')() File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.4-py3.6.egg/trackerjacker/main.py", line 277, in main tj.start() File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.4-py3.6.egg/trackerjacker/main.py", line 202, in start scapy.sniff(iface=self.iface_manager.iface, prn=self.process_packet, store=0) File "/usr/local/lib/python3.6/dist-packages/scapy/sendrecv.py", line 780, in sniff r = prn(p) File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.4-py3.6.egg/trackerjacker/main.py", line 145, in process_packet frame = dot11_frame.Dot11Frame(pkt, int(self.iface_manager.current_channel), iface=self.iface_manager.iface) File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.4-py3.6.egg/trackerjacker/dot11_frame.py", line 61, in init self.signal_strength = frame[scapy.RadioTap].dbm_antsignal File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 237, in getattr return self.payload.getattr(attr) File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 237, in getattr return self.payload.getattr(attr) File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 237, in getattr return self.payload.getattr(attr) [Previous line repeated 14 more times] File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 235, in getattr fld, v = self.getfield_and_val(attr) File "/usr/local/lib/python3.6/dist-packages/scapy/packet.py", line 1291, in getfield_and_val raise AttributeError(attr) AttributeError: dbm_antsignal

However on my laptop running same distro Kali Linux it runs fine for few minutes and crashes with:

Disabling monitor mode for interface: wlan1 Traceback (most recent call last): File "/usr/local/bin/trackerjacker", line 11, in load_entry_point('trackerjacker==1.7.4', 'console_scripts', 'trackerjacker')() File "/usr/local/lib/python3.6/dist-packages/trackerjacker/main.py", line 277, in main tj.start() File "/usr/local/lib/python3.6/dist-packages/trackerjacker/main.py", line 202, in start scapy.sniff(iface=self.iface_manager.iface, prn=self.process_packet, store=0) File "/usr/local/lib/python3.6/dist-packages/scapy/sendrecv.py", line 594, in sniff p = s.recv(MTU) File "/usr/local/lib/python3.6/dist-packages/scapy/arch/linux.py", line 503, in recv pkt, sa_ll = self.ins.recvfrom(x) OSError: [Errno 100] Network is down

ghost commented 6 years ago

There were no error with the installation script:

root@RPiKali:~/trackerjacker# python3 setup.py install running install running bdist_egg running egg_info writing trackerjacker.egg-info/PKG-INFO writing dependency_links to trackerjacker.egg-info/dependency_links.txt writing entry points to trackerjacker.egg-info/entry_points.txt writing requirements to trackerjacker.egg-info/requires.txt writing top-level names to trackerjacker.egg-info/top_level.txt reading manifest file 'trackerjacker.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'trackerjacker.egg-info/SOURCES.txt' installing library code to build/bdist.linux-armv7l/egg running install_lib running build_py copying trackerjacker/device_management.py -> build/lib/trackerjacker creating build/bdist.linux-armv7l/egg creating build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/dot11_tracker.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/config_management.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/version.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/main.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/init.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/oui.txt -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/plugin_parser.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/dot11_mapper.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/dot11_frame.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/ieee_mac_vendor_db.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/common.py -> build/bdist.linux-armv7l/egg/trackerjacker copying build/lib/trackerjacker/device_management.py -> build/bdist.linux-armv7l/egg/trackerjacker byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/dot11_tracker.py to dot11_tracker.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/config_management.py to config_management.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/version.py to version.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/main.py to main.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/init.py to init.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/plugin_parser.py to plugin_parser.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/dot11_mapper.py to dot11_mapper.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/dot11_frame.py to dot11_frame.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/ieee_mac_vendor_db.py to ieee_mac_vendor_db.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/common.py to common.cpython-36.pyc byte-compiling build/bdist.linux-armv7l/egg/trackerjacker/device_management.py to device_management.cpython-36.pyc creating build/bdist.linux-armv7l/egg/EGG-INFO copying trackerjacker.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO copying trackerjacker.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO copying trackerjacker.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO copying trackerjacker.egg-info/entry_points.txt -> build/bdist.linux-armv7l/egg/EGG-INFO copying trackerjacker.egg-info/requires.txt -> build/bdist.linux-armv7l/egg/EGG-INFO copying trackerjacker.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO zip_safe flag not set; analyzing archive contents... trackerjacker.pycache.config_management.cpython-36: module references file trackerjacker.pycache.ieee_mac_vendor_db.cpython-36: module references file creating 'dist/trackerjacker-1.7.4-py3.6.egg' and adding 'build/bdist.linux-armv7l/egg' to it removing 'build/bdist.linux-armv7l/egg' (and everything under it) Processing trackerjacker-1.7.4-py3.6.egg creating /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.4-py3.6.egg Extracting trackerjacker-1.7.4-py3.6.egg to /usr/local/lib/python3.6/dist-packages Adding trackerjacker 1.7.4 to easy-install.pth file Installing trackerjacker script to /usr/local/bin

Installed /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.4-py3.6.egg Processing dependencies for trackerjacker==1.7.4 Searching for scapy-python3==0.23 Best match: scapy-python3 0.23 Processing scapy_python3-0.23-py3.6.egg scapy-python3 0.23 is already the active version in easy-install.pth Installing UTscapy script to /usr/local/bin Installing scapy script to /usr/local/bin

Using /usr/local/lib/python3.6/dist-packages/scapy_python3-0.23-py3.6.egg Searching for ruamel.yaml==0.15.37 Best match: ruamel.yaml 0.15.37 Processing ruamel.yaml-0.15.37-py3.6-linux-armv7l.egg ruamel.yaml 0.15.37 is already the active version in easy-install.pth

Using /usr/local/lib/python3.6/dist-packages/ruamel.yaml-0.15.37-py3.6-linux-armv7l.egg Searching for pyaml==17.12.1 Best match: pyaml 17.12.1 Processing pyaml-17.12.1-py3.6.egg pyaml 17.12.1 is already the active version in easy-install.pth

Using /usr/local/lib/python3.6/dist-packages/pyaml-17.12.1-py3.6.egg Searching for PyYAML==3.12 Best match: PyYAML 3.12 Adding PyYAML 3.12 to easy-install.pth file

Using /usr/lib/python3/dist-packages Finished processing dependencies for trackerjacker==1.7.4

calebmadrigal commented 6 years ago

Both errors should be fixed in version 1.7.5. Let me know if they still persist.

ghost commented 6 years ago

That was the one! I run it on my laptop and managed to get it installed on RPi without any hiccups , thank you. Fascinating project I was looking for a long time for something like this. Question though, as I am reading the help of trackerjacker if I am not mistaken, it can monitor devices connected to an AP by using a prefix -a, am I right ? I figured I needed to lock the channel to monitor it, otherwise it would scan all. My AP is on channel 5 in this case.

So when I run: trackerjacker -i wlan0 --channels-to-monitor 5 -a xx:xx:xx:xx:xx:xx It shows mac devices, but they are foreign ones from other AP's and just few from my own network. It seems like -a command is not recognized or have I done something wrong?. I used netdiscover and my router config to compare them. Can it discover devices like Kismet can and display them during scan ? I have looked through wifi_map.yaml and tracker got them spot on! Not a big issue for what I am trying to do but just a observation.

calebmadrigal commented 6 years ago

@rafaleon69 Sweet. Filtering by AP is still kind of in the works for mapping. The -a flag (along with the -m flag) is mostly for tracking, so you can give it a list of APs to track and, when seen, trigger some action.

ghost commented 6 years ago

I see ,I still have a lot to explore if its potential. Some food for though, I am trying to build WiFi surveillance system on my RPi and one of the projects I used was WUDS that looks at probes that devices send and tries to determine who is in range. Perhaps an extension like this would be useful in trackerjacker as WUDS is no longer maintained?

calebmadrigal commented 6 years ago

This kind of thing should really work well with trackerjacker's plugin system (e.g. https://github.com/calebmadrigal/trackerjacker/blob/master/plugin_examples/plugin_example1.py).

The plugin system is very powerful. I actually implemented some of the functionality I wanted in triggers (https://github.com/calebmadrigal/trackerjacker/blob/master/trackerjacker/plugins/foxhunt.py).

If you write any really cool plugins that could be useful to a wider audience, I'd potentially incorporate them into the builtin plugins (like foxhunt).

ghost commented 6 years ago

Hey, I hate to come back to you like that but when I try to load a plugin feature, even built in one I get:

Traceback (most recent call last): File "/usr/local/bin/trackerjacker", line 11, in load_entry_point('trackerjacker==1.7.6', 'console_scripts', 'trackerjacker')() File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/main.py", line 272, in main config = config_management.build_config(argparse_args) File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/config_management.py", line 241, in build_config parsed_trigger_plugin = plugin_parser.parse_trigger_plugin(trigger_plugin_path, config['plugin_config']) File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/plugin_parser.py", line 36, in parse_trigger_plugin with open(trigger_path, 'r') as f: FileNotFoundError: [Errno 2] No such file or directory: 'foxhunt'

Any other suggestion ?

All the best.

calebmadrigal commented 6 years ago

No worries, any feedback is helpful. Can you give the command you're running?

Builtin plugins (currently just foxhunt) should be run without specifying the .py like this: trackerjacker -i wlan1337 --track --trigger-plugin foxhunt, while any other plugins should simply specify the path to the plugin (e.g. trackerjacker -i wlan1337 --track --trigger-plugin plugin_examples/plugin_example1.py).

ghost commented 6 years ago

i run it like that:

@kali:~$ sudo trackerjacker -i wlan1 --track --trigger-plugin foxhunt Traceback (most recent call last): File "/usr/local/bin/trackerjacker", line 11, in load_entry_point('trackerjacker==1.7.6', 'console_scripts', 'trackerjacker')() File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/main.py", line 272, in main config = config_management.build_config(argparse_args) File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/config_management.py", line 241, in build_config parsed_trigger_plugin = plugin_parser.parse_trigger_plugin(trigger_plugin_path, config['plugin_config']) File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/plugin_parser.py", line 36, in parse_trigger_plugin with open(trigger_path, 'r') as f: FileNotFoundError: [Errno 2] No such file or directory: 'foxhunt'

ghost commented 6 years ago

is it because I installed it through sudo python3 setup.py install maybe? And yes I have noticed you have released 1.7.6, i got this one. I also tried with the specified path by: kali:~/Downloads/trackerjacker-1.7.6$ sudo trackerjacker -i wlan1 --track --trigger-plugin /home/rafaleon/Downloads/trackerjacker-1.7.6/foxhunt.py (thats were I put a plgin for convenience)

It seems to run for a sec, black screen appears for a sec and comes back crashing.

PS. the packed version I downloaded does not contain plugins folder, I copied it from the master version to the downloaded one.

calebmadrigal commented 6 years ago

Oh shoot, good catch - it only works if you're in the trackerjacker dir. I'll fix that later tonight. Thanks for finding this.

ghost commented 6 years ago

I dont have to be in the trackjacker dir to get it running. It runs from anywhere.

rafaleon@kali:~/Downloads$ ls 'comptia-pentest-exam-objectives-(2-0).pdf' 'O'\''Reilly Network Security Assessment (2nd Edition).pdf' teamviewer_13.1.3026_amd64.deb trackerjacker-1.7.6 trackerjacker-1.7.6.tar.gz trackerjacker-master trackerjacker-master.zip rafaleon@kali:~/Downloads$ trackjacker -h bash: trackjacker: command not found rafaleon@kali:~/Downloads$ trackerjacker -h trackerjacker requires r00t! rafaleon@kali:~/Downloads$ sudo trackerjacker -h [sudo] password for rafaleon: usage: trackerjacker [-h] [--map] [--track] [--monitor-mode-on] [--monitor-mode-off] [--set-channel CHANNEL] [--mac-lookup MAC_LOOKUP] [--print-default-config] [-v] [-i IFACE] [-m DEVICES_TO_WATCH] [-a APS_TO_WATCH] [--channels-to-monitor CHANNELS_TO_MONITOR] [-w THRESHOLD_WINDOW] [--map-save-interval MAP_SAVE_INTERVAL] [--threshold THRESHOLD] [--power POWER] [--trigger-plugin TRIGGER_PLUGIN] [--plugin-config PLUGIN_CONFIG] [--trigger-command TRIGGER_COMMAND] [--trigger-cooldown TRIGGER_COOLDOWN] [--display-all-packets] [--beep-on-trigger] [--map-file MAP_FILE] [--log-path LOG_PATH] [--log-level LOG_LEVEL] [-c CONFIG]

ghost commented 6 years ago

and it seems like 1.7.6 version still have this error:

sudo trackerjacker -i wlan1 Map output file: wifi_map.yaml Monitoring all available channels on wlan1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] Traceback (most recent call last): File "/usr/local/bin/trackerjacker", line 11, in load_entry_point('trackerjacker==1.7.6', 'console_scripts', 'trackerjacker')() File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/main.py", line 286, in main tj.start() File "/usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.6-py3.6.egg/trackerjacker/main.py", line 205, in start scapy.sniff(iface=self.iface_manager.iface, prn=self.process_packet, store=0, exceptions=True) File "/usr/local/lib/python3.6/dist-packages/scapy/sendrecv.py", line 731, in sniff *arg, **karg)] = iface TypeError: init() got an unexpected keyword argument 'exceptions'

calebmadrigal commented 6 years ago

Looks like older versions of scapy don't support that kwarg (I probably need to specify the version of scapy more precisely). But in the meantime, I put in a check. Try version 1.7.7 - it should fix the errors you mentioned.

ghost commented 6 years ago

1.7.7 works as it should.

ghost commented 6 years ago

With the plugin bit, there is a step forward:

sudo trackerjacker -i wlan1 --track --trigger-plugin foxhunt Possible builtin path: /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.7-py3.6.egg/trackerjacker/plugins/foxhunt.py Possible builtin path: /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.7-py3.6.egg/trackerjacker/plugins/foxhunt.py |||

Wireless adapter blinks so does ||| rectangle sign but returns above information.

No further output.

ghost commented 6 years ago

Just saw new version, i got the 1.7.8. Now plugin system does not give this message, so step forward:

Possible builtin path: /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.7-py3.6.egg/trackerjacker/plugins/foxhunt.py Possible builtin path: /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.7-py3.6.egg/trackerjacker/plugins/foxhunt.py

Cursor blinks without any output, like it cannot load the plugin. Is it something off on my side I wonder? Other plugins I tried to load, just return standard output.

calebmadrigal commented 6 years ago

I removed that debug statement. I think what’s probably happening is it’s working, but your combination of hardware and software isn’t returning the power levels, which is required for the foxhunt plugin to work. What version of scapy3k is installed? Also, do any of the example plugins (in the repo) work?

Caleb

On Apr 26, 2018, at 7:04 AM, rafaleon69 notifications@github.com wrote:

Just saw new version, i got the 1.7.8. Now plugin system does not give

Possible builtin path: /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.7-py3.6.egg/trackerjacker/plugins/foxhunt.py Possible builtin path: /usr/local/lib/python3.6/dist-packages/trackerjacker-1.7.7-py3.6.egg/trackerjacker/plugins/foxhunt.py

but cursor still blink without any output, like it cannot load the plugin. Is it something off on my side I wonder?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

ghost commented 6 years ago

pip3 install scapy-python3 Requirement already satisfied: scapy-python3 in /usr/local/lib/python3.6/dist-packages/scapy_python3-0.23-py3.6.egg

I tried other plugins, example1.py seems to work, returns a lot of those, with the correct mac addresses and few like this: 33:33:00:00:00:01 seen at: [1524753594.9933338] Example2 is used to detect threshold which I managed to get it running. But even when I provide path to foxhunt, this one in particular would not run - or without path.

calebmadrigal commented 6 years ago

Ya, I think the combination of scapy and your wifi card may not support the RadioTap layer (which is where the signal power level comes from). Without that, the foxhunt mode doesn't work (since it's based off the signal power level).

ghost commented 6 years ago

I am just trying to narrow the problem. I have installed trackerjacker on a fresh raspbian os and foxhunt did not work either. Strangely even pip3 install trackerjacker would not compile it either. I tried it on a different box, with Kali installed and the plugin loaded for a minute and crashed. That was with internal wifi card (capable of being in a monitor mode and promisc)

Can I ask what OS and WiFi adapter you are using ?

ghost commented 6 years ago

I can only imagine that debugging can be hard, but can I make a suggestion. I have been browsing around and I have found this program, similar to yours but based on probe responses, right off the bat it shows SIGNAL strength, might be worth looking if you need an inspiration : https://github.com/hkm/whoishere.py/

logix2 commented 6 years ago

PIP3 installation fails on Ubuntu 18.04 too. It looks like it detects it as MacOS?

  Copying trackerjacker.egg-info to build/bdist.linux-x86_64/wheel/trackerjacker-1.8.7-py3.6.egg-info
  running install_scripts
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-build-x8c4r_zi/trackerjacker/setup.py", line 54, in <module>
      'Operating System :: MacOS'
    File "/home/logix/.local/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 257, in run
      self.distinfo_dir)
    File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 427, in egg2dist
      distribution=self.distribution)
    File "/usr/lib/python3/dist-packages/wheel/metadata.py", line 177, in pkginfo_to_dict
      new_requirements = sorted(convert_requirements(requirements))
    File "/usr/lib/python3/dist-packages/wheel/metadata.py", line 234, in convert_requirements
      parsed_requirement = pkg_resources.Requirement.parse(req)
    File "/home/logix/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2995, in parse
      req, = parse_requirements(s)
  ValueError: not enough values to unpack (expected 1, got 0)

  ----------------------------------------
  Failed building wheel for trackerjacker
  Running setup.py clean for trackerjacker
  Running setup.py bdist_wheel for scapy ... done
  Stored in directory: /home/logix/.cache/pip/wheels/cf/03/88/296bf69fee1f9ec7a87e122da52253b65f3067f6ea8719b473
  Running setup.py bdist_wheel for PyYAML ... done
  Stored in directory: /home/logix/.cache/pip/wheels/ad/da/0c/74eb680767247273e2cf2723482cb9c924fe70af57c334513f