Sie sind nicht angemeldet.

1

28.05.2013, 17:30

Kismet_Server PPI-Header an TUN/Tap Device oder Pipe

Hi@all,

ich suche gerade nach einer Möglichkeit, wie ich den Kismet-Server dazu überredet bekomme, an das Tap device auch den PPI-Header mitzuübertragen. Wenn ich ganz normal in eine pcap datei dumpe ist dieser Header bei den IEEE802.11-Frames dabei. Wenn ich mittels tcpdump die Pakete vom Tap device (kistap0) abgreife nicht. Ich benötige jedoch den RSSI-Wert der so nur im PPI-Header zu finden ist. Diesen Wert will ich on-the-fly weiterverarbeiten ohne, dass ich von Kismet immer diese immer größer werdende Pcap-Datei benötige. Eine FiFo-Pipe wäre auch zweckmäßig, doch ist der Support dafür zu gunsten der Paketübergabe mittels TAP eingesetellt bzw. entfernt worden (seit ca. 2008).
Was auch gehen würde wäre irgendwie eine Zwischenschicht einzuziehen, die dem Kismet vorgaukelt in eine Datei zu schreiben in Wirklichkeit aber nur eine Pipe zu bedienen.

Hat da jamend ne idee wie man das realisieren könnte? Nochmal es geht mir nicht darum die Pakete zu speichern, sondern darum die Pakete direkt weiterzuverarbeiten und danach zu löschen...
Techno4ever

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Freier Radikaler« (29.05.2013, 11:12)


2

29.05.2013, 06:40

Hm ... habe jetzt mit Kismet keine echten Erfahrungen. Wäre es nicht so, dass der Kismet-Server mögl. die Teile nicht an das /dev/net/tun* (wobei ich jetzt nicht weis, welches Device-File Kismet da hochreisst) schreibt?

Ganz doof, aus der Hüfte und ohne mir was dabei zu denken: hast du mal versucht:

Quellcode

1
# cat /dev/net/tun_VON_KISMET > dump
zu machen und zu gucken ob das was sinnvolles kommt?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

29.05.2013, 11:34

Funktioniert nicht wirklich. /dev/net/ ist nur eine einzoge Datei "tun" enthalten. Das scheint aber nur ein generic tun-device zu sein ohne direkten Bezug zu Kismet.
das ist echt doof, dass Kismet keine Named Pipes mehr unterstützt hmpf...

Nochmal zu meiner Idee mit der zwischengeschalteten Pipe. Gibts da nicht, mit dem man die ausgabe eines Programmes in eine Datei in eine Pipe transparent für das Programm umleiten kann?
Techno4ever

4

30.05.2013, 08:09

Gibts da nicht, mit dem man die ausgabe eines Programmes in eine Datei in eine Pipe transparent für das Programm umleiten kann?

"Ausgabe eines Programmes in eine Datei in eine Pipe transparent ..." bin mir nicht sicher was du meinst. Einfaches "tee"?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
$ cat foo
eins
zwei
drei
vier
$ cat foo | tee bar | wc -l
4
$ cat bar
eins
zwei
drei
vier
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

03.06.2013, 14:43

Nein das meiste ich nicht. Kismet schreibt eine Datei. Ich würde jetzt aus der gerne quasi wie aus ner Fifo datei lesen. Sodass die Datei kleiner wird. Hört sich etwas komisch an und ich hab keine ahnung ob sowas überhaupt geht. Deswegen war meine Idee, dass es vllt ein proggie gibt mit dem man die fopen auffrufe von kismet so umleiten kann, dass er in eine fifo pipe schreibt. Aber das ist alles Umständlich. Ich bin jetzt so weit, dass ich ggf. auch mit dem TCP-Stream der Kismetdronen vorlieb nehmen würde. Das Problem ist nur, dass ich den PPI-Header darin nicht wiederfinden kann. In diesem stehen jedoch die von mir benötigten RSSI-Werte.
Wenn jemand andere Methoden kennt, wie ich an diese PPI-Sachen ran komme, ohne den Umweg über die Pcap-Dateien gehen zu müssen, immer gerne :-).

Ich bin jetzt grade dabei den Code von Kismet zu lesen, um rauszufinden, wie der diesen TCP-Stream der Dronen verarbeitet. Aber ich bin noch net wirklich weit gekommen. C++ *würg*.
Techno4ever

6

04.06.2013, 22:15

Ich würde jetzt aus der gerne quasi wie aus ner Fifo datei lesen.
Kannst ja versuchen eine Fifo-Datei hierfür anzulegen:

Quellcode

1
2
mkfifo dump.fifo
kistmet --soll in die dump.fifo schreiben


Hat aber den Nachteil dass Kismet ggf. eingefroren wird und nicht alles mitbekommt, wenn aus der dump.fifo nicht gelesen wird. Probiere es mal aus.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.