AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi UDPServer lauscht auf Port - gleichzeitig aber andere Pakete auf Port mitschneiden

UDPServer lauscht auf Port - gleichzeitig aber andere Pakete auf Port mitschneiden

Ein Thema von ChrisE · begonnen am 31. Mai 2012 · letzter Beitrag vom 1. Jun 2012
Antwort Antwort
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

UDPServer lauscht auf Port - gleichzeitig aber andere Pakete auf Port mitschneiden

  Alt 31. Mai 2012, 10:46
Hallo,

Also, gegeben ist ein Indy TIdUDPServer. Dieser sendet an viele IP/Port-Kombinationen einen String. Jetzt kann es passieren, dass eine IP/Port-Kombination falsch ist - z.B. ein Rechner oder Router im Netz und nicht ein spezielles Gerät. Nun sehe ich in WireShark, dass bei einer solchen falschen Konfiguration ein ICMP Paket zurück kommt "Destination unrechable / Port unreachable". Das Ereignis OnIdException wird nur ausgelöst, wenn ich es mit dem lokalen Rechner selber versuche. Hierbei kommt der Fehler #10054 - Connection reset by Peer. Allerdings gibt es hier nur die Adresse 0.0.0.0 mit dem Serverport - also der eigene Server.

Zum Problem:
Der UDP-Server fühlt sich logischer weiße für das ICMP-Paket nicht verantwortlich. Ich brauche aber die Information / das Paket. Es wird an den Serverport des UDP-Servers geschickt.
Wie bekomme ich mit welchen Komponenten hin, dass ich alle anderen Pakete (nicht nur das ICMP-Paket) erhalte außer den UDP-Paketen, die an den Serverport gehen?

Ich hoffe ich habe mich geschickt genug ausgedrückt.

Danke für Eure Hilfe.

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: UDPServer lauscht auf Port - gleichzeitig aber andere Pakete auf Port mitschneide

  Alt 31. Mai 2012, 16:57
Grundsätzlich (by Design) ist es bei UDP so, dass der Absender nicht erfährt ob sein Datenpaket beim Empfänger angekommen ist.
Ein ICMP-Paket gibt es nicht immer; man kann sich also nicht darauf verlassen.

Wenn du wissen musst ob der Empfänger grundsätzlich in der Lage ist deine UDP Pakete zu empfangen, dann schicke doch ein spezielles Paket auf das der Empfänger antworten muss.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: UDPServer lauscht auf Port - gleichzeitig aber andere Pakete auf Port mitschneide

  Alt 1. Jun 2012, 08:50
Hallo,

erstmal danke für die Antwort . Und es war mir klar, dass die Fragestellung in die falsche Richtung führt

Ganz klar ist - UDP ein verbindungsloses Protokoll. Aber es gibt Situationen, bei dem trotzdem Informationen weiter gegeben werden - auch wenn Sie es nicht müssen.

Wie z.B. dass eine X beliebiger Netzwerk-Client (das kann ein PC oder Router im Netz sein), der versehentlich beim Server als Client Konfiguriert wurde, per ICMP antwortet, dass dieser Port nicht verfügbar ist.
Es geht nicht darum, dass dies jeder Netzwerkpartner tun muss - tut auch nicht jeder . Vielmehr darum, dass wenn sowas passiert, die Information auch verarbeitet werden sollte.
Und es geht genau um Clients, die eigentlich nicht angesprochen werden sollten - die also das "Protokoll" zwischen Server und Client nicht kennen können.

Also nochmals die Fragestellung:
Ich lausche mit einem UDP-Server (Indy) auf einen Port und führe über diesen auch die eigentliche Kommunikation mit den Clients.
Ich möchte jetzt aber auch andere Pakete außer diese UDP-Pakete auf diesem Port bekommen und verarbeiten können.

Was muss ich tun?

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

AW: UDPServer lauscht auf Port - gleichzeitig aber andere Pakete auf Port mitschneide

  Alt 1. Jun 2012, 14:23
Dann wäre doch die Fragestellung:
Wie kann ich ICMP Destination Unreachable empfangen & auswerten, die Aufgrund eines nicht zugestellten UDP-Packets meine Netzwerkkarte erreichen?

Da ist die Informationlage schon ziemlich dünn.
Ich würde die KOmponente TIdIcmpClient verwenden und schauen was reinkommt.
Andreas
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz