Ich habe eine Anwendung, die über ihre API mit einem NetApp-Gerät kommuniziert. Wenn die Windows-Firewall aktiviert ist, schlagen die API-Befehle fehl. Bei abgeschalteter Firewall funktionieren die api-Befehle. Ich erhalte keine Nachricht wie "Windows Firewall blockiert dieses Programm".
Beim Durchsehen der Dokumentation glaube ich, dass ich die TCP-Ports gefunden habe, die geöffnet sein müssen, damit die API-Befehle funktionieren. Wie kann ich programmatisch erkennen, ob die Ports blockiert sind, damit ich dem Benutzer eine Nachricht über das potentielle Problem anzeigen kann?
Der Firewall-Manager macht sich selbst über COM verfügbar und implementiert eine IsPortAllowed
, hier ist ein Interop-Beispiel für die Interaktion mit dem Manager.
Du kannst es so machen, denke ich: Versuche es: Ändern Sie 1433 für den Port, den Sie überprüfen möchten.
%Vor%Um zu sehen, welche Ports auf Ihrem Rechner verfügbar sind, führen Sie folgende Schritte aus:
C: & gt; netstat -an | finde / ich höre zu
TCP 0.0.0.0:25 0.0.0.0: HÖREN
TCP 0.0.0.0:80 0.0.0.0: HÖREN
TCP 0.0.0.0:135 0.0.0.0: HÖREN
Um festzustellen, ob die Ports blockiert sind - unter Win7 können Sie die Windows Firewall-Protokolle anzeigen, indem Sie die Windows-Firewall öffnen - klicken Sie auf Erweiterte Einstellungen auf der linken Seite und öffnen Sie den Zweig Überwachung.
Hinweis auf der Registerkarte "Überwachung" im Abschnitt "Protokollierungseinstellungen" gibt es die Möglichkeit, sich in eine Datei einzuloggen, die auf meinem Win7 PC %systemroot%\system32\LogFiles\Firewall\pfirewall.log
ist - Sie könnten diese Datei einfach analysieren. Ich habe in der Vergangenheit recherchiert und es gibt Dienstprogramme, die das für Sie tun, aber am Ende des Tages ist es nur eine Standardformat-Protokolldatei.
Ich bezweifle, dass die Firewall erwähnen wird, dass sie die Anwendung blockiert, sonst kann Eindringling Informationen darüber haben, was ihn daran hindert, auf das System zuzugreifen :-).
Normalerweise protokollieren Firewalls Versuche, eine Verbindung von und zum Computer herzustellen, ob erfolgreich oder nicht, Sie können dies überprüfen.
Aktualisieren *
Sie können Bestätigung im Netzwerk versuchen. Wenn Sie für eine bestimmte Zeit keine empfangen haben, können Sie sicher sagen, dass ein Problem in der Verbindung besteht.
Tags und Links c# windows-firewall