Forum: PC-Programmierung Suche Programm für TCP/IP Port Überwachung


von Flo (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

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.

von Flo (Gast)


Lesenswert?

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.

von Kai G. (runtimeterror)


Lesenswert?

Versuch mal Wireshark.

von Norgan (Gast)


Lesenswert?

> 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.

von zwieblum (Gast)


Lesenswert?

natürlich funktioniert wireshark.

von Flo (Gast)


Lesenswert?

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".

von Frank (Gast)


Lesenswert?

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

von Roland Praml (Gast)


Lesenswert?

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

von Oha (Gast)


Lesenswert?

Mit TCP is nicht mit mal so mithoeren. Du brauchst ein socket, der da 
macht was auf der anderen Seite noetig ist.

von Roland P. (pram)


Lesenswert?

@Oha: Netcat macht genau das. (Praktisch Telnet rückwärts :)

von hmm (Gast)


Lesenswert?

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.

von Michael U. (michaeluray)


Lesenswert?

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

von Chris Z. (sicro)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.