array an buffer anhängen.

german

Aktives Mitglied
devCommunity-Experte
Wer denn sonst :D

Nehmen wir an die ssid ist gar nicht gesetzt. also wildcard ssid. dann ist die tag länge 0 und es kommt auch nix mehr danach.
Dann ist SSID[0] = '\0'. Ich weiß nicht wie das dann prinzipiell gesendet wird, ob mit oder ohne Nullterminierung. Wenn dein TagLength Member die Stringlänge der SSID ist, dann braucht's eigentlich keine Nullterminierung. Weiß aber nicht was da für ein Format erwartet wird.
 

lano

Aktives Mitglied
Ich weiß nicht wie das dann prinzipiell gesendet wird
ich meine das dann einfach 0 gesendet wird. also nicht gar nichts. nit nullterminierung hatte ich schon versucht.
wäre schön wenn das alles immer die gleiche länge hätte und so. aber man kann ja auch ganze blöcke weg lassen.
zb bei offenen netzen fehlt einfach nur das tag mit den verschlüsselungsinformationen.
und das will ich ja quasi individuell hinzufügen oder halt nicht.
deine hilfe da erstma überhaupt nen strukturiertes struct hin zu bekommen war schon mal gut.
wenn ich das richtig in erinnerung habe gibt mir write ja die anzahl der geschriebenen bytes zurück.
da zähl ich einfach mit beim zusammen bauen. wichtig ist am ende ja nur das das paket richtig im speicher liegt und ich die länge weis.
geil wäre natürlich wenn das alles vom prinzip gleich wäre und von der namensgebung. dann würde das für mich einfacher und schneller gehn das zusammen zu basteln. Da ich iber um so einige extra wurst funktionen eh nicht drum rum komme erhoffe ich mir quasi nen bisschen mehr einheitlichkeit im nächsten level. ich bin mir nur noch nicht einig wie ich das machen könnte. Das ist jetzt nur nen Beacon Frame, Abgesehn von den Datenframes gibts auch noch RTS, CTS, ACK usw. Probe request und respone und dann hat man das ja quasi erst funktionierend. Dann sind noch viele nützliche sachen da die man faken könnte, ja gradezu muss. was nützt es wenn ich mich als accesspoint anbiete aber der client der meinung ist das der kanal des accesspoints keine gute wahl ist. für den fall könnte ich ihm noch ne kanalübersicht mit auslastung schicken und wenn er der vertraut...
 

german

Aktives Mitglied
devCommunity-Experte
Naja, was soll ich sagen. Musst halt alles was optional ist in separate structs packen. Was anderes fällt mir dazu auch nicht ein.
Und ja, write gibt die Anzahl geschriebener Bytes zurück. Sich den ganzen Kram aber noch mal als HEX Dump anzusehen, kann auch nicht schaden.
Das Reverse Engineering der Daten und deren Zuordnung ist vermutlich das aufwendigste. Außer du hast irgendwo ne gute Quelle. Mich wundert sowieso dass es da noch nix von Ratiopharm gibt. Du kannst doch nicht der Erste sein der sich mit sowas beschäftigt. Was ergeben denn Internetrecherchen auf GitHub &Co. zu dem Thema? Keine fertigen Libs?
 

lano

Aktives Mitglied
Musst halt alles was optional ist in separate structs packen.
so hab ich mir das gedacht.
Sich den ganzen Kram aber noch mal als HEX Dump anzusehen, kann auch nicht schaden.
ich speicher das paket einfach als pcap file und wireshark zeigt mir das an.
aber ist richtig son hex dump fürn editor kann nicht schaden.
Das Reverse Engineering der Daten und deren Zuordnung ist vermutlich das aufwendigste.
naja es ist ja mehr abschreiben.
Außer du hast irgendwo ne gute Quelle.
200.000 seiten wlan standard :LOL:

Du kannst doch nicht der Erste sein der sich mit sowas beschäftigt.
mit sicherheit nicht.
Was ergeben denn Internetrecherchen auf GitHub &Co. zu dem Thema? Keine fertigen Libs?
Nichts was ich für mich schön finden würde. ist auch recht wenig wenn man überhaupt was gutes findet.
ich sach mal so. es ist halt so einfach viel copy n paste. aber es ist auch mein erster versuch. sollte das einigermaßen passen,
denn würde ich mir nen script basteln um die wireshark ausgabe irgendwie in structs zu fummeln.
muss ja erstmal nur so pi ma auge sein das man nicht so viel zu tun hat beim korrigieren.
aber, da ich die 200.000+ seiten noch 'nicht' alle kenne weis ich auch nicht was noch alles kommt. viel schlimmer als so kanns meiner meinung nach kaum noch werden. ok, ist gelogen, ich weis genau das es schlimmer kommen wird.
mir schwebt da sowas vor wie jedes paket mit seinel extras kommt in eine lib und dann war doch irgend wie was mit pointer auf die funktion. aber frag mich nicht, du bist mein pointer expert. so das man sowas machen könnte.
Code:
b = new beacon;
beacon->set_ssid("test");
oder so ähnlich halt...
ich bin mir da noch nicht so einig und bis neujahr hab ich erst mal viel zu tun.
 

german

Aktives Mitglied
devCommunity-Experte
Ich erfinde das Rad auch mal ganz gerne neu, wenn ich die Zeit habe. Trägt enorm zum eigenen Verständnis bei. Aber für so ne Nummer, wo du neben "ich hab da was zu Laufen gebracht" auch noch nem ellenlangen Standard folgen musst? Wär mir persönlich zu Viel Aufwand mit viel zu hohem Fehlerpotenzial :D

Code:
b = new beacon;
beacon->set_ssid("test");
oder so ähnlich halt...
Ach hör auf. Die Funktion heißt dann beacon_set_ssid und gut. Du musst nicht versuchen C++ Klassenmethoden nachzuahmen, das bringt dir in C keinerlei Vorteil. C kennt kein this und somit müsstest du so oder so einen Pointer auf dein Structobjekt mit übergeben.
 
Oben Unten