Sockets udp source port
-
Hallo!
Ich habe mal eine Frage in Bezug auf Socketprogrammierung unter XP:Seit SP2 ist ja nicht mehr so ohne weiteres Möglich RAW Sockets zu erstellen. Gibt es trotzdem eine Möglichkeit den Source-Port eines UDP-Pakets festzulegen. Ggf. funktioniert das ja sogar ohne RAW-Sockets. Netcat kann das ja auch und soll soweit ich gelesen habe keine RAW-Sockets nutzen.
Um das nochmal zu erklären:
Client
Source-Port 1024
Destination 2024--->> Senden...
Server
Listen auf 2024Danke für die Hilfe.
Gruß
KMB
-
kann sein das es geht. wenn du aber was besseres als raw sockets brauchst, dann nimm das: http://www.winpcap.org/
-
Ja, schon klar. Mit PCAP würde es auch gehen. Aber ich wollte das eigentlich mit den Standarts machen ohne extra Tools zu installieren. Sonst noch Vorschläge?
Gruß
kmb
-
kmb schrieb:
Ich habe mal eine Frage in Bezug auf Socketprogrammierung unter XP:
und was hat das mit ANSI C zu tun ?
-
Also ich hab hier im ANSI Forum schon so einge Posts zum Thema Winsock entdeckt. Also denk ich mal ist es schon korrekt angesiedelt. Oder hast du ein Vorschlag in welches Forum ich posten sollte?
Gruß
kmb
-
Hallo.
Hier die Lösung zu meinem Problem:
Ich habe jeweils zwei Socketaddr_inn erstellt, eine für remote und eine für lokale. Auf die lokale habe ich einen bind gemacht.
SOCKADDR_IN localAddr;
SOCKADDR_IN remoteAddr;//Lokale Adresse definieren
localAddr.sin_family=AF_INET;
localAddr.sin_port=htons(1024);
localAddr.sin_addr.s_addr=ADDR_ANY;//Remote Adresse definieren
remoteAddr.sin_family=AF_INET;
remoteAddr.sin_port=htons(2024);
remoteAddr.sin_addr.s_addr = inet_addr(argv[1]);//lokalen Port binden
rc=bind(s,(SOCKADDR*)&localAddr,sizeof(SOCKADDR_IN));//Paket senden
rc=sendto(s,buf,strlen(buf),0,(SOCKADDR*)&remoteAddr,remoteAddrLen);Das war's! Achso, Wireshark macht sich da für die Fehlersuche bzw. Kontrolle ziemlich gut. Man kann aber mit Wireshark wohl nicht auf localhost sniffen. Netcat ist ebenfalls zum testen sehr gut.
Gruß
Marcel
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.