nmap zeigt mir, dass ein Dienst "offen | gefiltert" ist, während er lokal "offen" ist. Wie soll er geöffnet werden?

7

Ich habe einen Quake 3-Server. Und es ist erfolgreich gestartet.

Das Problem ist, dass niemand eine Verbindung zu diesem Server herstellen kann.

Ich renne: nmap -sU -p 27960 hostnameund es zeigt mir, dass es Zustand istopen|filtered

Wenn ich diesen Befehl direkt vom Server aus ausführe, ist dies der Fall open.

Außerdem stelle ich sicher, dass es rechts bindend ist iface

Ich habe die iptables- Regeln überprüft und konnte keine zugehörigen Filter finden. Außerdem habe ich versucht, den Port explizit über zu öffneniptables -A INPUT -p udp --dport 27960 -j ACCEPT

aber das hat nicht geholfen.

Was könnte es sein?

Ich rief beim ISP Support Center an und sie sagten, dass sie nichts filtern.

bakytn
quelle
Ob das iface, in dem Sie den Server hosten, eine öffentliche oder private IP hat?
Pradeepchhetri
@pradeepchhetri es hat nur eine öffentliche IP
bakytn
Wenn Sie einen Linux-Computer verwenden, können Sie versuchen, eine Verbindung nc <ipaddress> 27960von einem anderen Computer aus herzustellen .
Pradeepchhetri
Welche Linux-Distribution verwenden Sie?
Pradeepchhetri
Ich führe diesen Kommentar von meinem Laptop auf diesen Server aus. es steckt einfach fest. nichts wird gezeigt. Die Distribution ist Ubuntu 12.04
Bakytn

Antworten:

9

Das Abrufen unterschiedlicher nmap-Ergebnisse von lokalen Computern und Remotecomputern bedeutet, dass eine Art Firewall (unabhängig davon, ob sie lokal oder auf einem Remotecomputer ausgeführt wird) blockiert ist. Laut der nmap-Dokumentation

open|filtered

Nmap places ports in this state when it is unable to determine whether  
a port is open or filtered. This occurs for scan types in which open
ports give no response. The lack of response could also mean that a 
packet filter dropped the probe or any response it elicited. So Nmap 
does not know for sure whether the port is open or being filtered. The
UDP, IP protocol, FIN, NULL, and Xmas scans classify ports this way.

Ich würde Ihnen empfehlen, die folgenden Tools auszuprobieren, um herauszufinden, ob genau das Problem vorliegt:

  1. So erfassen Sie die UDP-Pakete, die für die port 27960Verwendung von tcpdumpund bestimmt sind. Überprüfen Sie, ob die Pakete Ihren Computer erreichen oder nicht.

Führen Sie den folgenden Befehl aus, um die an Port 27960 bestimmten udp-Pakete in einer Datei zu erfassen tcpdump.out

$ sudo tcpdump -A 'udp and port 27960' -w tcpdump.out`

Versuchen Sie, eine Verbindung von einem anderen Computer zum Port herzustellen netcat

$ nc <server-ip-address> -u 27960

Stoppen Sie nun den Dump und prüfen Sie mit wireshark, ob ein Paket in tcpdump.out erfasst wurde oder nicht.

$ wireshark tcpdump.out

Wenn kein Paket erfasst wurde, bedeutet dies, dass ein Zwischengerät (Firewall) die Kommunikation verhindert. Andernfalls überprüfen Sie bei Erfassung die Antwort, die der Server als Antwort auf die Anforderung gibt. Wenn es sich um eine ICMP-Antwort mit einem Fehlercode handelt, bedeutet dies, dass eine lokale Firewall blockiert ist.

pradeepchhetri
quelle
Das ist cool! Ich sehe, dass Pakete wirklich kommen. Der Client kann jedoch aus bestimmten Gründen keine Verbindung herstellen und keine Fehlermeldungen auf der Clientseite. Ich konnte auch keine ICMP-Pakete finden. Aber ich denke, die Frage ist tatsächlich beantwortet. Andere Dinge hängen nicht ganz mit meinem Problem zusammen.
Bakytn
Es gibt ein Problem, das wir immer noch nicht herausfinden können.
Pradeepchhetri
Ich mache einige lokale Tests. Wird hier auf dem
Laufenden
@casey_miller: Super !! Das wäre wirklich hilfreich.
Pradeepchhetri
Das ist immer noch seltsam. Ich habe einen anderen Server ausprobiert, aber vor dem Testen auf einem Remote-Server habe ich im LAN getestet, um sicherzustellen, dass Client und Server in Ordnung sind. Also hat es funktioniert! Aber nachdem ich den q3-Server auf den Remote-Server verschoben und gestartet habe - kein Glück. "Warten auf Verbindung ... <nn>"
Bakytn