NEWS
Adapter für probe request monitoring
-
schwer allgemein zu sagen. dein client os braucht zugriff auf die wlan hardware. kannst mal ifconfig ausführen und schauen ob ein wlanX dabei ist. wenn ja versuchen, das mit den befehlen von oben in den monitor mode zu versetzen. wenn nein könntest du es mit usb wifi stick versuchen. bei virtualbox kannst du zb usb geräte an den client weiterreichen, damit sollte es denke ich gehen.
-
schwer allgemein zu sagen. dein client os braucht zugriff auf die wlan hardware. kannst mal ifconfig ausführen und schauen ob ein wlanX dabei ist. wenn ja versuchen, das mit den befehlen von oben in den monitor mode zu versetzen. wenn nein könntest du es mit usb wifi stick versuchen. bei virtualbox kannst du zb usb geräte an den client weiterreichen, damit sollte es denke ich gehen. `
Hi,bei ifconfig kommt folgendes:
` > eth0 Link encap:Ethernet Hardware Adresse 08:00:27:ba:37:4b
inet Adresse:192.168.2.xxx Bcast:192.168.2.255 Maske:255.255.255.0
inet6-Adresse: fe80::a00:27ff:feba:374b/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:11904955 errors:0 dropped:295 overruns:0 frame:0
TX packets:9783288 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:1493310746 (1.3 GiB) TX bytes:2188811012 (2.0 GiB)
lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:65536 Metrik:1
RX packets:60300348 errors:0 dropped:0 overruns:0 frame:0
TX packets:60300348 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:8133999238 (7.5 GiB) TX bytes:8133999238 (7.5 GiB) `
ich lese nichts von wlan
-
Adapter sieht jetzt gut aus, allerdings ich habe keine Zeit den ausprobieren.
Um den Adapter jetzt ins Repository zu nehmen sollte man noch den auf npm puschen und noch diesen Text austauschen:
Und es ist viel besser die Pakete von npm zu nehmen (statt github)
Ich habe folgenden Kommentar gefunden:
> Removed pcap.h which was leading to a compilation failure on Windows 7
Ich nehme an, es kann auch unter windows laufen. Aber man muss prüfen.
-
Bei mir läuft das ganze auf meinem Raspberry Pi 3. Sollte aber auf jedem Linux funktionieren.
Dessen WLAN kann allerdings keinen "promiscous mode", daher musste ich mir einen 10€ Wlan Stick kaufen. `
Kannst Du eine Empfehlung für einen Stick für den Pi3 unter Raspbian aussprechen?
Gibt es einen Link für eine Installationsanleitung und muss man das integrierte WLAN abschalten?
Danach muss man in den Adaptereinstellungen angeben welches Monitorinterface man verwenden will und welche MAC Addressen getrackt werden sollen.
Zu allen anderen MAC Addressen werden keine States erstellt. `
mh… hier würde mich ein" "Monitormode" interessieren, um wirklich die Umgebung zu scannen.
Unendlich oder die letzten 20 (einstellbar?) gefundenen Macs mit Datum und ggf. Zusatzinfos.
Ringbuffer... die ältesten Einträge löschen. Ggf. in einen Datenpunkt als JSON.
Ich scanne schon Bluetooth in der Umgebung. Eine Ergänzung um WLAN wäre nett
[EDIT] zusätzlich zu einen JSON mit den letzten Objekten könnte man einen Datenpunkt mit jeder neu gefundenen MAC (mit Zusatzinfos) schreiben. Wer mag, kann diese dann über SQL-History einfach mitloggen.
-
Ich verwende einen TP-LINK WN723 N, funktioniert bei mir einwandfrei und kostet nicht viel. Das originale Wifi kann man weiterlaufen lassen, macht glaube ich nicht viel Unterschied. Wenn du einen Rpi3 mit Raspian Jesse verwendest, solltest du einfach nur den Stick anstecken und die vier Zeilen oben ausführen müssen.
Was das tracken von Addressen betrifft, kann man sehr einfach alle Adressen tracken, wenn man den entsprechenden Check im Code auskommentiert. Das Problem ist allerdings, dass man dann sehr schnell mal 1000 Einträge hat was das Bedienen in der Admin UI sehr unangenehm macht. Ich werde den Adapter in der Hinsicht aber noch weiterentwickeln, denke ich werde versuchen irgendwie Events zu realisieren.
-
Bestellt.
Danke für die Info.
Habe jetzt nicht geschaut, ob der neuere und günstigere 727 den gleichen oder einen anderen unterstützen Chipsatz hat.
Erst einmal auf Nummer sicher.
-
Ich verwende einen TP-LINK WN723 N, funktioniert bei mir einwandfrei und kostet nicht viel. Das originale Wifi kann man weiterlaufen lassen, macht glaube ich nicht viel Unterschied. Wenn du einen Rpi3 mit Raspian Jesse verwendest, solltest du einfach nur den Stick anstecken und die vier Zeilen oben ausführen müssen.
Was das tracken von Addressen betrifft, kann man sehr einfach alle Adressen tracken, wenn man den entsprechenden Check im Code auskommentiert. Das Problem ist allerdings, dass man dann sehr schnell mal 1000 Einträge hat was das Bedienen in der Admin UI sehr unangenehm macht. Ich werde den Adapter in der Hinsicht aber noch weiterentwickeln, denke ich werde versuchen irgendwie Events zu realisieren. `
so… der TP-Link WN723 N wurde heute geliefert.
Am Rapsberry Pi 3 angesteckt und WLAN1 wurde erkannt (ifconfig).
[EDIT]: Raspbian Jessie Lite
ifconfig wlan1 down ````OK. Dann leider:
iw phy phy1 interface add mon0 type monitor
command failed: No such file or directory (-2)Tja, dann suche ich mal, woran das liegt…
-
probiers mal mit phys2 mon0 etc, änder die zahlen ab
hatte den fehler auch schon mal, war irgendwas falsch angegeben glaube ich
-
probiers mal mit phys2 mon0 etc, änder die zahlen ab
hatte den fehler auch schon mal, war irgendwas falsch angegeben glaube ich `
tja… scheint schwieriger zu werden...
ifconfig gibt WLAN0 (integriert) und den Stick als WLAN1 aus.
Hier sind die Details ganz gut erklärt:
http://www.elektronik-kompendium.de/sit … 008051.htm
Und hier scheint das Pronblem zu liegen. Obwohl ein ifconfig WLAN1 ausgibt, wird mit iw dev nur die physikalische Schnittstelle phy0 ausgegeben. Die MAC-Adresse dort entspricht der integrierten WLAN-Schnittstelle (WLAN0). Eine weitere physikalische Schnittstelle wird nicht angezeigt.
~# iw dev phy#0 Interface wlan0 ifindex 3 wdev 0x1 addr xx:xx:xx:xx:xx:xx type managed
-
probiers mal mit phys2 mon0 etc, änder die zahlen ab
hatte den fehler auch schon mal, war irgendwas falsch angegeben glaube ich `
mh… ich boote meinen Raspberry Pi vom USB Stick und nciht SD. GGf. liegt es daran und ich muss den richtigen Treiber für den Realtek Chipsatz installieren... nur welchen? :?
~# uname -a Linux rasp31 4.4.30-v7+ #920 SMP Sun Nov 6 16:25:04 GMT 2016 armv7l GNU/Linux
-
so…
nach langem Kampf hat der WLAN Stick verloren und ist nun als WLAN0 eingetragen...
iwconfig:
! ````
iwconfig
wlan0 unassociated Nickname:"wifi@realtek"
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0! lo no wireless extensions.
! mon0 IEEE 802.11bgn Mode:Monitor Tx-Power=12 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:offeth0 no wireless extensions./wifi@realtek
iw dev: >! ```` # iw dev phy#0 Interface mon0 ifindex 4 wdev 0x2 addr 00:00:00:00:00:00 type monitor Interface wlan0 ifindex 3 wdev 0x1 addr xx:xx:xx:xx:xx:xx type managed
Leider bekomme ich den Adapter jetzt nicht mehr installiert:
! ````
npm install https://github.com/DerKorb/ioBroker.probemon/tarball/master --production --prefix "/opt/iobroker"
npm WARN addRemoteGit Error: not found: git
npm WARN addRemoteGit at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:14:12)
npm WARN addRemoteGit at F (/usr/lib/node_modules/npm/node_modules/which/which.js:69:19)
npm WARN addRemoteGit at E (/usr/lib/node_modules/npm/node_modules/which/which.js:81:29)
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/which.js:90:16
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:44:5
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:8:5
npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:82:15)
npm WARN addRemoteGit git+https://github.com/mranney/node_pcap.git resetting remote /root/.npm/_git-remotes/https-github-com-mranney-node-pcap-git-72c55299 because of error: { [Error: not found: git] code: 'ENOGIT' }
npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror https://github.com/mranney/node_pcap.git /root/.npm/_git-remotes/https-github-com-mranney-node-pcap-git-72c55299: undefined
npm ERR! git clone --template=/root/.npm/_git-remotes/_templates --mirror https://github.com/mranney/node_pcap.git /root/.npm/_git-remotes/https-github-com-mranney-node-pcap-git-72c55299: undefined
npm ERR! Linux 4.4.33-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "https://github.com/DerKorb/ioBroker.probemon/tarball/master" "--production" "--prefix" "/opt/iobroker"
npm ERR! node v4.6.2
npm ERR! npm v2.15.11
npm ERR! code ENOGIT! npm ERR! not found: git
npm ERR!
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.
! npm ERR! Please include the following file with any support request:
npm ERR! /opt/iobroker/npm-debug.logRaspberry Pi 3, Rasbian, neuste Version des Kernels:
uname -a
Linux rasp31 4.4.33-v7+ #928 SMP Sat Nov 19 19:39:23 GMT 2016 armv7l GNU/Linux
****WLAN Stick Treiber:**** Wird man normalerweise nicht benötigen. Bei mir lag durch den Boot vom USB-Stick ein Sonderfall vor. Das Installationsskript unter [https://www.raspberrypi.org/forums/view … p?p=462982](https://www.raspberrypi.org/forums/viewtopic.php?p=462982) hat mir geholfen, den Stick einzurichten:
wget https://dl.dropboxusercontent.com/u/80256631/install-wifi.tar.gz
tar xzf install-wifi.tar.gz` > Use command ./install-wifi -h for details on how you can use it to download or update the wifi driver. This script will automatically determine the wifi you are using and search for the correct driver to download for the kernel version you are using. The script can also install wifi drivers for wifi modules using 8192eu, 8812au, mt7610 or mt7612 drivers. `
-
Würde gerne testen, bei mir läuft iobroker auf einen NUC in einer VM unter Debian.
Welche Einstellungen muss ich dann vornehmen?
Habe keinen Plan ob ich das in der VM auch machen muss :oops: `
Es gibt wohl Lösungen, bei denen Du einem USB Stick vom Host einer VM zuweisen kannst.
Temporär kannst Du das über die vmware Konsole machen. Wirklcih nur temporär, da die Konsole sonst dauerhaft laufen müsste.
Mit Konsole meine ich das Zusatzprogramm, mit dem Du den Bildschirm einer VM aufrufen kannst.
Dort kann man dann dem aufgerufenen Rechner ein USB-Gerät zuweosen, welches an dem Rechner steckt, von dem die Konsole aufgerufen wird.
Ich nutze das manchmal für VMs unter Windows 10, wenn ich für irgendeine Software einen VM Stick benötige.
-
Der nächste Schritt…
ich habe auf Grund der Fehlermeldung in meinem Post oben nun
apt-get install git
ausgeführt und dann erneut versucht den probe-Adapter zu installieren.
Nun hängt es an der nächsten Stelle (Fehlermeldungen bei der Installation):
! ````
$ ./iobroker url "https://github.com/DerKorb/ioBroker.probemon"
install https://github.com/DerKorb/ioBroker.probemon/tarball/master
npm install https://github.com/DerKorb/ioBroker.probemon/tarball/master --production --prefix "/opt/iobroker" (System call)
../pcap_binding.cc:2:23: fatal error: pcap/pcap.h: Datei oder Verzeichnis nicht gefunden #include <pcap pcap.h="">
^
compilation terminated.
! make: *** [Release/obj.target/pcap_binding/pcap_binding.o] Error 1
gypERR! build error
gypERR!
stack Error:make
failed with exit code: 2
gyp
ERR!
stack
at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp
ERR!stack at emitTwo (events.js:87:13)gyp
ERR!
stack
at ChildProcess.emit (events.js:172:7)gyp
ERR!
stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:12)
gypERR! System
Linux 4.4.33-v7+
gyp
ERR! command
"/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp
ERR!
cwd
/opt/iobroker/node_modules/iobroker.probemon/node_modules/pcapgyp
ERR!
node -v
v4.6.2gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok! npm
ERR! Linux 4.4.33-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "https://github.com/DerKorb/ioBroker.probemon/tarball/master" "--production" "--prefix" "/opt/iobroker"npm ERR! node v4.6.2
npm ERR! npm v2.15.11
npm
ERR! code ELIFECYCLE
npm ERR! pcap@2.0.0 install:node-gyp rebuild
! npm ERR! Exit status 1npm
ERR! npm ERR! Failed at the pcap@2.0.0 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the pcap package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!
node-gyp rebuildnpm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs pcap
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls pcap
npm ERR!
There is likely additional logging output above.
! npm ERR! Please include the following file with any support request:npm ERR! /npm-debug.log
! ERROR: host.rasp31 Cannot install https://github.com/DerKorb/ioBroker.probemon/tarball/master: 1
ERROR: process exited with code 25</pcap>[EDIT] Ich versuche es zu verstehen. Sieht so aus als könnte das pcap Module nicht installiert werden [https://github.com/mranney/node_pcap](https://github.com/mranney/node_pcap)
-
Oh gut dass du es sagst, lib pcap benötigt libpcap-dev als dependency, steht bei denen im README, aber werd ich bei meinem Adapter auch mal noch dazuschreieben.
-
Nach:
apt-get install libpcap-dev
Konnte ich jetzt den Adapter installieren.
Es werden allerdings keine Datenpunkte für die gemonitorten Geräte angelegt. :?:
Interfaces:
# iw dev phy#0 Interface mon0 ifindex 4 wdev 0x2 addr 00:00:00:00:00:00 type monitor Interface wlan0 ifindex 3 wdev 0x1 addr ec:08:6b:xx:xx:xx type managed
Einstellungen des dapters:
-
schau mal ob im log was verdächtiges steht.
-
Ich habe auf Debug gestellt und einen Messpunkt gelöscht und wieder eingerichtet.
Im Log sehe ich dazu nichts. Beim Starten des Adapters kommt nur:
object change system.adapter.probemon.0
-
stell sicher, dass der adapter log level auf debug gestellt ist (expertenmodus bei instances).
Der Adapter sollte beim starten "creating pcap session" loggen.
Wenn das nicht passiert, geht schon sehr früh was schief.
Was du machen kannst um bessere Fehlerinfos zu bekommen ist per ssh auf dem Server OS
node /opt/iobroker/node_modules/iobroker.probemon/main.js
ausführen. Das sollte dann einen Fehler ausspucken.
-
Debug hatte ich eingestellt.
"creating pcap session" kommt.
Anbei der entsprechende Log:
! ````
host. 2016-11-28 19:05:07.156 debug redis mget 2 2
host. 2016-11-28 19:05:07.150 debug redis publish io.system.adapter.probemon.0.uptime {"val":2,"ack":true,"ts":1480356307150,"q":0,"from":"system.adapter.probemon.0","lc":1480356307150}
host. 2016-11-28 19:05:07.148 debug redis publish io.system.adapter.probemon.0.memHeapUsed {"val":10.32,"ack":true,"ts":1480356307148,"q":0,"from":"system.adapter.probemon.0","lc":1480356307148}
host. 2016-11-28 19:05:07.147 debug redis publish io.system.adapter.probemon.0.memHeapTotal {"val":17.26,"ack":true,"ts":1480356307147,"q":0,"from":"system.adapter.probemon.0","lc":1480356307147}
host. 2016-11-28 19:05:07.146 debug redis publish io.system.adapter.probemon.0.memRss {"val":27.85,"ack":true,"ts":1480356307145,"q":0,"from":"system.adapter.probemon.0","lc":1480356307145}
host. 2016-11-28 19:05:07.144 debug redis publish io.system.adapter.probemon.0.connected {"val":true,"ack":true,"ts":1480356307142,"q":0,"from":"system.adapter.probemon.0","lc":1480356307142}
host. 2016-11-28 19:05:07.141 debug redis publish io.system.adapter.probemon.0.alive {"val":true,"ack":true,"ts":1480356307141,"q":0,"from":"system.adapter.probemon.0","lc":1480356307141}
host. 2016-11-28 19:05:07.137 debug redis keys 2 .logging
host. 2016-11-28 19:05:07.133 debug redis psubscribe io.probemon.0.
probemon.0 2016-11-28 19:05:07.061 info creating pcap session
probemon.0 2016-11-28 19:05:07.054 info starting. Version 0.5.0 in /opt/iobroker/node_modules/iobroker.probemon, node: v4.6.2
host. 2016-11-28 19:05:07.033 debug redis get system.adapter.probemon.0.alive ok: {"val":false,"ack":true,"ts":1480356303002,"q":0,"from":"system.host.rasp31","lc":1480356302907}
host. 2016-11-28 19:05:07.017 info States connected to redis 172.16.130.210:6379
probemon.0 2016-11-28 19:05:06.992 debug statesDB connected
probemon.0 2016-11-28 19:05:06.959 debug objectDB connected
host.rasp31 2016-11-28 19:05:05.443 info instance system.adapter.probemon.0 started with pid 28155
host.rasp31 2016-11-28 19:05:03.000 info instance system.adapter.probemon.0 terminated with code 0 (OK)
host.rasp31 2016-11-28 19:05:02.901 info stopInstance system.adapter.probemon.0 killing pid 15480
host.rasp31 2016-11-28 19:05:02.900 info stopInstance system.adapter.probemon.0
probemon.0 2016-11-28 19:05:02.909 info terminating
probemon.0 2016-11-28 19:05:02.904 info cleaned everything up...
host.rasp31 2016-11-28 19:05:02.891 info object change system.adapter.probemon.0nach:
node /opt/iobroker/node_modules/iobroker.probemon/main.js
kommt keine Ausgabe. Nur der Prompt. Dann habe ich den Adapter noch einmal gelöscht und wieder eingerichtet (ohen Debug direkt nach der Neueinrichtung): >! ```` probemon.0 2016-11-28 20:02:22.100 info creating pcap session probemon.0 2016-11-28 20:02:22.091 info starting. Version 0.5.0 in /opt/iobroker/node_modules/iobroker.probemon, node: v4.6.2 host. 2016-11-28 20:02:22.037 info States connected to redis 172.16.130.210:6379 iobroker 2016-11-28 20:02:20.432 info exit 0 iobroker 2016-11-28 20:02:20.430 info host.rasp31 object system.adapter.probemon.0 created host.rasp31 2016-11-28 20:02:20.429 info instance system.adapter.probemon.0 started with pid 1314 host.rasp31 2016-11-28 20:02:20.414 info object change system.adapter.probemon.0 iobroker 2016-11-28 20:02:20.381 info host.rasp31 object system.adapter.probemon.0.alive created iobroker 2016-11-28 20:02:20.350 info host.rasp31 object system.adapter.probemon.0.connected created iobroker 2016-11-28 20:02:20.319 info host.rasp31 object system.adapter.probemon.0.memHeapUsed created iobroker 2016-11-28 20:02:20.288 info host.rasp31 object system.adapter.probemon.0.memHeapTotal created iobroker 2016-11-28 20:02:20.257 info host.rasp31 object system.adapter.probemon.0.memRss created iobroker 2016-11-28 20:02:20.220 info host.rasp31 object system.adapter.probemon.0.uptime created iobroker 2016-11-28 20:02:20.187 info host.rasp31 object system.adapter.probemon.upload created iobroker 2016-11-28 20:02:20.170 info host.rasp31 create instance probemon iobroker 2016-11-28 20:02:18.385 info add probemon iobroker 2016-11-28 20:01:36.940 info exit 0
Datenpunkte für die zu überwachenden Geräte wurden zu keinem Zeitpunkt angelegt.
-
wenn die meldung kommt heißt es immerhin schon mal, dass der adapter generell läuft. Dann stimmt was mit dem mac addressen abgleich nicht oder du bekommst die probe-requests nicht.
Hast du Zugangsdaten fürs Wlan angelegt? Wenn der Stick in keinem Netzwerk ist geht es nicht vermute ich.
Ich hab den Adapter vorhin überarbeitet, probier mal die neuste Version.