[C] Socket für TCP/UDP Übertragung programmieren

Ich vermute mal, dass der Server auf dem die VMs laufen, entweder keine Verbindung zum Internet hat oder er diese auf den VMs blockiert. In beiden Fällen kann man da nix machen.

Gruß
crusherd
 
AW: [C] Socket für TCP/UDP Übertragung programmieren

Das ist echt komisch. Habe jetzt mal apt-cache policy tcpdump eingegeben und da heißt es, dass tcpdump bereits auf beiden VMs installiert sei ...

Capture.JPG

Wenn ich's dann aber genau so benutzen will, wie's in der Übungsangabe steht, wird's nicht erkannt ... :huh:

Capture2.JPG

Ich muss schon tcpdump starten, bevor ich meine Client-Server-Übertragung mache, oder verstehe ich hier was falsch? tcpdump macht ja die Aufzeichnung währenddessen?!

[EDIT]
Als root funktioniert tcpdump. Gut, soll mir auch recht sein. Aber sobald der im "Aufzeichnungsmodus" ist, kann ich meinen Server bzw. Client nicht mehr starten, weil ich ja dann keine Befehl eingeben kann. Und ich muss ja zuerst tcpdump starten?!
 
Zuletzt bearbeitet:
AW: [C] Socket für TCP/UDP Übertragung programmieren

^^ Ja, siehe EDIT. Auf die Idee bin ich schon gekommen; das Problem ist nur, dass ich tcpdump VOR dem Starten des Servers/Clients starten muss. Nur, wenn ich das mache, geht tcpdump sofort in eine Art "Aufzeichnungsmodus" und ich kann keine weiteren Befehle eingeben ...

Eigentlich müsste es so sein:

1.) tcpdump -s 0 -w client.cap tcp and port 31337
2.) ./socket TCP Client 192.168.3.1 31337

^^ Nur 2tens geht nicht mehr, wenn ich 1tens gemacht habe ... :ugly:

Capture.JPG
 
Zuletzt bearbeitet:
AW: [C] Socket für TCP/UDP Übertragung programmieren

^^ Ja, siehe EDIT. Auf die Idee bin ich schon gekommen; das Problem ist nur, dass ich tcpdump VOR dem Starten des Servers/Clients starten muss. Nur, wenn ich das mache, geht tcpdump sofort in eine Art "Aufzeichnungsmodus" und ich kann keine weiteren Befehle eingeben ...

Eigentlich müsste es so sein:

1.) tcpdump -s 0 -w client.cap tcp and port 31337
2.) ./socket TCP Client 192.168.3.1 31337

^^ Nur 2tens geht nicht mehr, wenn ich 1tens gemacht habe ... :ugly:

Anhang anzeigen 624877

Langsam beschleicht mich auch das Gefühl, dass du manchmal doch etwas lern-/leseresistent bist.

http://extreme.pcgameshardware.de/programmierung-und-webdesign/256278-c-socket-fuer-tcp-udp-ubertragung-programmieren-8.html#post4974622 schrieb:
Du hast mehrere virtuelle Terminals (Alt + F1, Alt + F2, ...), du könntest einen Befehl gleich in den Hintergrund schieben ("programm &", dann den angegebenen Pid wieder abschießen). Siehe dazu auch z.B. http://de.linwiki.org/wiki/Linuxfibe...tuelle_Konsole .
http://extreme.pcgameshardware.de/programmierung-und-webdesign/256278-c-socket-fuer-tcp-udp-ubertragung-programmieren-8.html#post4974624 schrieb:
Du kannst mit screen mehrere "Sessions" gleichzeitig verwenden und zwischen diesen umherschalten (man screen gibt Infos)

Insbesondere das von bingo88 genannte screen ist wirklich einen (oder zwei) Blicke wert.

Und Skysnakes Lösung sollte man eigentlich auch kennen, wenn man mal was mit Linux zu tun hat...
http://extreme.pcgameshardware.de/programmierung-und-webdesign/256278-c-socket-fuer-tcp-udp-ubertragung-programmieren-8.html#post4974720 schrieb:
Es gibt auch die Möglichkeit ein Programm mit "&" im Hintergrund zu starten :ugly:
 
Zuletzt bearbeitet:
AW: [C] Socket für TCP/UDP Übertragung programmieren

Ich sag ja, da fehlen einfach basics. Sowohl was C/C++ als auch be linux.

Nen Dual-Boot mal einrichten, und bischen rumspielen, hilft da :daumen:

"Linux auf einem Blatt" ist auch ganz hilfreich ;)
 
AW: [C] Socket für TCP/UDP Übertragung programmieren

Ich hab's jetzt mal so probiert:
Code:
tcpdump -s 0 -w client.cap tcp and port 31337 [COLOR=royalblue][B]&[/B]./socket TCP Client 192.168.3.1 31337
So kann ich auch nach dem ersten Befehl noch den zweiten eingeben und die Übertragung kann durchgeführt werden. Aber ich bekomme ständig nur leere capture files raus (0 Bytes) ... :ugly:

Capture.JPG

^^ Woran kann das jetzt wieder liegen?

Die Parameter sollten jedenfalls stimmen. mit -s 0 wird alles aufgezeichnet und mit -w sollte es ins capture file geschrieben werden?!
 
Zuletzt bearbeitet:
AW: [C] Socket für TCP/UDP Übertragung programmieren

ich hab mir jetz auch mal nen tutorial angeschaut und drauf losgebastelt. funzt bisher super, also server und client reden fleissig hin und her. nun ne konzeptionelle frage:

ich wollte mal sone arty mini-chat programm/irc gedöhns bauen. also man schreibt was und alle anderen bekommens gesendet usw. funzt theoretisch auch schon, nur ist der client halt grad so aufgebaut, dass in ner endlosschleife immer nen string vom user eingelesen und an den server gesendet wird. also das man halt schreiben und schreiben und schreiben kann ^^

blöd is halt nur, dass er ja solange nix macht, wie man nix sendet. wenn also client 2 nun was schreibt, erfahre ich das erst, wenn ich selber wieder was schreib und sende, da dann erst wieder der nächste check kommt -> muss ich hier schon multithreading machen, oder gibts da simplere lösungen?
 
AW: [C] Socket für TCP/UDP Übertragung programmieren

Du nutzt "einfach" Threads ;)

Ansonsten fällt mir grad auch keine andere Möglichkeit auf Anhieb ein.
 
AW: [C] Socket für TCP/UDP Übertragung programmieren

alles klaro, da werd ich mal in dieser richtung weiterforschen. das wollt ich zwar eh auch schonmal üben (wird ja irgendwann mal alles in my opengl ding einfließen ^^), hätte aber noch ned beim chat (server/client) dran gedacht ^^
 
Zurück