Da hast du recht...
Ich kenne das IEEE 802.11 Protokoll nicht im Detail, aber vielleicht befindet sich das
betreffende Byte in einem 24- oder 32bit Feld...
Sollte ja auch nur ein Denkanstoss sein.
Guten Abend,
Wahrscheinlich liegen die Daten in "network byteorder" (Big endian) vor....
Ich schlage meine Eier auch immer mit der runden Seite nach oben auf... ;)
@herakles
Ich wünsche dir viel Erfolg bei deinem Vorhaben.
An Enthusiasmus mangelt es dir ja auch nicht, das du dich extra in die Materie einarbeitest, nur um dein Vorhaben zu realisieren.
Da es bei deinem Projekt um WLAN geht kannst du dir ja auch mal
das zu gemüte führen...
Nachtrag:
Es müsste mit bind funktionieren.
http://www.zotteljedi.de/doc/socket-buch.pdf
Kapitel 13 liefert dir nähere Infos.
Falls dich trotzdem doch die libpcap oder die libnet interessieren...
Habe da selbst einmal in meinem Studium einen Vortrag mit Tutorials geschrieben... Hat ich...
Hallo Herakles,
Hast du denn mal ein bind() versucht, und schlägt es fehl?
Was willst du eigentlich mit dem Raw-Socket machen?
Paketsniffing, oder Paketinjection?
Dann kannst ja mal die Quellcodes von libnet oder libpcap studieren,
und dir anschauen wie die das machen. Bzw...
Hallo Herakles,
wenn ich mich recht entsinne ist nach dem Aufruf von socket(), der Socket noch nicht gebunden.
Erst durch den Aufruf von bind(), bindest du den Socket an ein Interface.
Lies dir mal die ensprechenden man-pages durch.
Grüsse
Hallo soul_rebel
Eine Bridge arbeitet auf Ebene 2 völlig transparent. Das heißt, das sie wie eine Kabelverbindung angesehen werden kann. Einen VPN-Tunnel kannst du darüber
ohne weiteres aufbauen. Den Netzwerkverkehr kannst du dann ganz normal auf dem Ethernetinterface deines Servers...
Tja, das leidige Thema WLAN und freie Betriebssysteme....
Ich habe da auch so meine eigenen Erfahrungen mit gemacht :ugly:
Und habe eine für mich ideale Lösung gefunden, besonders wenn man mit
mehreren Rechnern ins Netz will.
Wie wäre es einfach mit einer WLAN-Bridge z.B "Linksys WET54G"...
Zu Punkt 1:
Du solltest bedenken das dein Programm unter einem Multitasking-OS abläuft.
Das heißt das es natürlich nicht 100% der CPU-Zeit zur Verfügung hat, sondern sich die CPU-Zeit mit anderen Prozessen teilen muß.
(Die wollen ja auch mal ran ;) ).
Sprich, die zeitlichen Lücken ergeben...
@ 0815Chaot
Da kann ich dir nur zustimmen..... :)
Deine Variante ist, wenn man auf Nummer sicher gehen will vorzuziehen.
Habe diese einwenig erweitert, um auch eine Zeile zu zählen die nicht mit einem Newline abgeschlossen ist.
int main(int argc, char* argv[])
{
int count = 0...