Linux testet, ob der Port erlaubt ist

1. Vorbereitung

Bereiten Sie zunächst zwei Server vor: Server A und Server B

Installieren Sie das Porttest-Tool Netcat auf Server A

yum list | grep netcat

Fügen Sie hier eine Bildbeschreibung ein

yum install netcat

2. Um Ports unter CentOS 7 freizugeben, können Sie die folgenden Methoden verwenden:

  1. Verwenden Sie firewalld (empfohlen):

    • Überprüfen Sie den Status des Firewalld-Dienstes:
      sudo systemctl status firewalld
      
    • Wenn firewalld nicht läuft, starten Sie es:
      sudo systemctl start firewalld
      
    • Überprüfen Sie den Firewall-Status:
      sudo firewall-cmd --state
      
    • Wenn die Firewall inaktiv ist, aktivieren Sie sie:
      sudo systemctl enable firewalld
      sudo systemctl restart firewalld
      
    • Release-Port:
      sudo firewall-cmd --zone=public --add-port=20/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=21/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=22222/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=11111/tcp --permanent
      sudo firewall-cmd --zone=public --add-port=10000/tcp --permanent
      
    • Firewallregeln aktualisieren:
      sudo firewall-cmd --reload
      
  2. Verwenden Sie iptables:

    • Überprüfen Sie den Status des iptables-Dienstes:
      sudo systemctl status iptables
      
    • Wenn iptables nicht läuft, starten Sie es:
      sudo systemctl start iptables
      
    • Überprüfen Sie den Firewall-Status:
      sudo iptables -L -n
      
    • Wenn die Firewall inaktiv ist, aktivieren Sie sie:
      sudo systemctl enable iptables
      sudo systemctl restart iptables
      
    • Release-Port:
      sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 22222 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 11111 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
      
    • Iptables-Regeln speichern:
      sudo service iptables save
      

Mit der oben genannten Methode kann der angegebene Port die CentOS 7-Firewall passieren. Beachten Sie, dass für diese Einstellungen möglicherweise Administratorrechte erforderlich sind (mithilfe von sudo).

4. Fehlerbehebung: [root@localhost backup]# netcat -l -p 11111 netcat: cannot use -p and -l Netcat kann nach der Installation nicht verwendet werden

Wenn Sie auf das Problem stoßen, dass die Parameter „-p“ und „-l“ bei Verwendung des Befehls „netcat“ nicht gleichzeitig verwendet werden können, ist dies der Fall Möglicherweise liegt es daran, dass Ihre Netcat-Version älter ist und die gleichzeitige Verwendung dieser beiden Parameter nicht unterstützt.

Sie können versuchen, verschiedene Methoden zu verwenden, um den Abhörmodus zu starten, anstatt den Parameter „-l -p“ zu verwenden. Hier sind zwei mögliche Alternativen:

  1. NC-Listening-Port verwenden (ersetzt „-p“ und „-l“):

    nc -vv -l 11111
    
  2. Verwenden Sie den Befehl socat als Alternative zu netcat:

    socat TCP-LISTEN:11111,reuseaddr,fork -
    

Bitte stellen Sie sicher, dass Sie Netcat oder Socat korrekt installiert haben. Wenn Sie Netcat oder Socat nicht installiert haben, können Sie es mit einem Paketmanager (wie apt, yum usw.) installieren oder von der offiziellen Website herunterladen und manuell installieren.

Okay, wie kann ich dann von einem anderen Computer aus auf diesen Port zugreifen, um ihn zu testen?

Um von einem Terminal auf einem anderen Computer aus auf einen Port zuzugreifen, der auf dem ersten Computer geöffnet ist, können Sie den folgenden Befehl verwenden:

nc <第一台机器的 IP 地址> 11111

Sie müssen „<IP-Adresse des ersten Computers>“ durch die tatsächliche IP-Adresse des ersten Computers ersetzen. Dadurch wird eine TCP-Verbindung zum angegebenen Port auf dem ersten Computer hergestellt.

Wenn die Verbindung erfolgreich ist, können Sie etwas in das Terminal des zweiten Computers eingeben und zum Senden die Eingabetaste drücken. Der Text wird dann an den Port des ersten Computers gesendet. Sie können überprüfen, ob die Verbindung und die Kommunikation erfolgreich waren, indem Sie die Terminalausgabe auf dem ersten Computer beobachten.

5. Kann ich Telnet zum Testen verwenden?

Ja, Sie können den Telnet-Befehl verwenden, um die Verbindung zu einem offenen Port auf einem anderen Computer zu testen. Bitte stellen Sie sicher, dass auf Ihrem Computer ein Telnet-Client installiert ist.

Verwenden Sie an der Eingabeaufforderung den folgenden Befehl, um eine Verbindung zum angegebenen Port auf dem ersten Computer herzustellen:

telnet <第一台机器的 IP 地址> 11111

Ersetzen Sie „<IP-Adresse der ersten Maschine>“ durch Ihre tatsächliche IP-Adresse und „11111“ durch Ihre offene Portnummer.

Wenn die Verbindung erfolgreich ist, wird das Terminal die Verbindungsinformationen zu diesem Port ausdrucken. Sie können dies testen, indem Sie Daten an den Server senden, nachdem die Telnet-Verbindung hergestellt wurde.

Hinweis: Wenn die Telnet-Verbindung nicht erfolgreich ist oder der Telnet-Befehl nicht gefunden wird, müssen Sie möglicherweise einen Telnet-Client installieren oder überprüfen, ob die Firewall des Zielcomputers eingehende Telnet-Verbindungen zulässt.

6. Wirkung:

Server A:
Fügen Sie hier eine Bildbeschreibung ein
Server B:
Fügen Sie hier eine Bildbeschreibung ein

  • Verbinden Sie sich mit dem zu testenden Server-Port auf Server B und geben Sie die Zeichen ein. Server A zeigt die empfangenen Zeichen an, was bedeutet, dass der Port verwendet werden kann. Andernfalls kann er nicht direkt verbunden werden und kann überhaupt nicht eingegeben werden.

おすすめ

転載: blog.csdn.net/weixin_43576565/article/details/133790695