TCPIP Stack/ homebrew socket....



  • Hallo Leute,

    dieser vermutlich für LINUX (Himbeerkuchen ?) gedachte Low Level Webserver (http://dunkels.com/adam/miniweb/) kommt ohne Socket aus, da hier der TCP/IP Stack direkt implementiert ist. Da ich einen solchen Stack für mein nächstes (Mikrokontroller)Projekt benötige, wollte ich damit erstmal unter Windows herumexperimentieren. Die entscheidende Codezeile des verlinkten Webservers lautet ja:

    fd = open("/dev/tun0", O_RDWR);
    

    Vermutlich würde man unter Windows folgendermaßen vorgehen (nachdem man sich den
    DevicePath der Netzwerkkarte besorgt hat):

    HANDLE Webadapter= CreateFile(DeviceInterfaceDetailData->DevicePath, 
                                            GENERIC_READ | GENERIC_WRITE, 
                                            FILE_SHARE_READ | FILE_SHARE_WRITE, 
                                            NULL, 
                                            OPEN_EXISTING, 
                                            FILE_ATTRIBUTE_NORMAL , 
                                            NULL);
    

    Allerdings hab ich so meine Zweifel, ob sich die Mühe überhaupt lohnt...
    Bevor ich anfange, wollte ich daher mal fragen, ob jemand hier so etwas ähnliches schon mal probiert hat (vielleicht noch aus WIN3.1 Zeiten oder so)?

    Vielen Dank für’s lesen.
    MfG



  • Das geht nicht. Wie stellst du dir das vor? Dafür brauchst du erstmal einen Treiber, der dir solch einen Zugriff gestattet.



  • Schau dir einmal WinPcap von Wireshark an.

    Über das API kannst du einzelne Ethernet-Pakete senden und empfangen.
    Du solltes aber TCP/IP vorher von der Ethernet-Karte abschalten, sonnst
    funkt dir Windows dazwischen.

    Vielleich kannst du auch mit einer simulierten virtuellen Netzwerkskarte arbeiten:

    http://members.inode.at/anton.zechner/az/VirtualNetwork.htm
    http://members.inode.at/anton.zechner/az/index.html



  • Hallo Anton,

    vielen Dank für den Hinweis auf Deine schöne Seite. Ich hatte auch an die NDIS Miniport Treiber Beispiele aus dem WDK gedacht und diese mir auch angeschaut.
    Leider sind diese für mich nicht ausreichend dokumentiert und ich habe daher auch noch keine Ahnung, wie die Technologie eigentlich einzusetzen ist. Ich werde mir mal Deine Beispiele hierzu anschauen.

    MfG


Anmelden zum Antworten