Hallo Ich habe da ein Problem. Mit einem ARM7TDMI will ich Daten über TCP/IP an einen PC senden, über einen bestimmten (freien) Port und in einem eigenen Datenformat. Also KEIN Telnet oder sowas. Die Programmierung des ARM7 bereitet mir weniger Kopfzerbrechen, als das Auswerten der Daten am PC. Ich finde nämlich einfach kein Programm, welches mir erlaubt die Daten, die der ARM sendet am PC sichtbar zu machen bzw. zu prüfen ob diese überhaupts ankommen. Kennt Ihr Programme mit denen man einen Port überwachen kann und die einfach alles Byte-für-Byte ausgeben was über diesen Port eingeht? Alles was ich fand sind Terminals für Telnet usw. Das hilft mir aber nicht... Zwar will ich später ein eigenes PC-Programm für diesen Zweck schreiben aber zum reinen Testen der Verbindung in dem Stadium wär das noch etwas zu viel. Gruß Florian
Erstmal die Frage welchen Betriebssystem? Als nächstes UDP oder TCP? Bei UDP kannst du tcpdump oder wireshark verwenden. Wenn es TCP ist dann muss auf dem Port erstmal ein Programm laufen befor überhaupt eine verbindung zustande kommt. Unter linux könnte man es mit netcat machen.
Danke für deine Antwort! Sorry, hab wieder die Hälfte vergessen ;-) Betriebsystem: WinXP Protokoll: TCP Ich hatte gehofft, dass es hier Programme gibt, die den Port belegen und eben die Daten die über den Port gehen offen legen.
> Versuch mal Wireshark.
Nutzlos für TCP, da ohne fehlende "Gegenstelle" keine Verbindung
aufgebaut werden kann. Wireshark wird nur zeigen, dass der
Verbindungsaufbau ins Leere läuft.
Hallo Habe mir Wireshark mal eben angeschaut. An und für sich macht es einen sehr guten Eindruck - Aber Wireshark braucht definitiv noch Unterstützung von einem anderen Programm. Als reiner Sniffer bringt es mir nun nicht viel. Ich erläutere mal was ich genau vor habe: Im ersten Schritt soll mal vom PC über TCP/IP dem ARM irgendwelche Bytes senden können. Der ARM soll sie empfangen und dann mit einem ASCII "ok!\n" antworten. ARM und PC sind direkt, ohne Router verbunden. ARM hat eine fixe IP Adresse und Portnummer. Das Problem: Zum einen habe ich kein Programm mit dem ich gezielt einzelne Bytes senden kann. Zum anderen keine Möglichkeit zu überprüfen ob der ARM sich meldet. Letzteres könnte ich mit Wireshark überprüfen. Allerdings muss ich den ARM dazu erstmal von außen "anregen".
Hallo, soviel ich weiss, kann man den Telnet-Clienten, der bei Windows mit dabei ist, auf beliebigen Ports laufen lassen: einfach beim Verbindungsaufbau nach der IP-Adresse die Portnummer nach einem Doppelpunkt dranhängen. Er funktioniert wie ein Terminal-Programm. Man kann auch beliebiges Zeug Tippen und per Enter senden, Alles was reinkommt wird angezeigt, sofern es darstellbar ist. Ein spezielles Protokoll setzt der Client nicht voraus, das will nur der Telnet-Server, aber darum geht es hier ja nicht. Ich demonstriere damit immer Auszubildenden, wie die Mailprotokolle SMTP und POP3 "zu Fuß" funktionieren, klappt prima ... Frank
für sowas würde ich netcat verwenden. netcat kann sowohl als Client (sich zu einem Port verbinden) als auch als Server (an einem Port horchen) verwendet werden. Ein und Ausgabe erscheinen am StdIN/StdOut und lassen sich auch bequem in eine Datei umleiten. Es gibt auch eine Windows-Version, google mal nach netcat.exe. Diese wird aber oft von Virenscannern als potentiell gefährlich eingestuft Gruß Roland
Mit TCP is nicht mit mal so mithoeren. Du brauchst ein socket, der da macht was auf der anderen Seite noetig ist.
@Oha: Netcat macht genau das. (Praktisch Telnet rückwärts :)
Von den Herstellern von Telnet- und Printservern gibt es auch Treiber die dann eine oder mehrere virtuelle COM-Schnittstellen emulieren. Falls das von Interesse ist. Netcat wär sonst auch meine erste Wahl. Eine Telnetemulation macht immer erst eine Telnetnegotiation in der Parameter ausgehandelt werden. Das kann u.U. störend sein.
Also das einfachste Programm um eine TCP/IP Verbindung aufzubauen um ascii Zeichen zu lesen, ist das Windows eigene Hyperterminal. Folgende Schritte sind notwendig: - Start -> Ausführen -> "hypertrm.exe" (eventuell muß dann einmal eine Ortsvorwahl konfiguriert werden) - Einen beliebigen Namen eingeben - Verbindung herstellen über "TCP/IP (Winsock)" - Beliebigen freien Port (Anschlussnummer) angeben, Hostadresse leer lassen - mit OK bestätigen und danach die Fehlermeldung bestätigen - Menü -> Anrufen -> "Auf Anruf warten" Jetzt wartet das Terminal auf eine eingehenden Verbindung auf dem angegebenen Port. Das Ganze kann z.B. mit dem Programm telnet getestet werden. Start -> Ausführen -> "telnet localhost 23" 23 muss durch den vorher ausgewählten Port ersetzt werden. lg. michi
Hmm, ist ne ganz einfache Sache in Vb.net 2008 Express Edition. Benutze ich um Programme auf dem PC vom Handy im WLAN fernzusteuern. Im Anhang mal meine Variante, Empfangen über UDP/TCP, Port und Protokoll im Programm festelegen. Alles auf dem Port wird dann in der TextBox angezeigt, nach jeder Verbindung wird eine neue Zeile geschrieben. EDIT: Je nach dem was du sendest, natürlich noch das Encoding von ASCII auf sonstwas verändern. Hoffe ich konnte dir helfen, Chris
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.