Pokud řešíte problémy se službou, o které víte, že běží normálně, dalším krokem je zajistit, aby naslouchala na správném síťovém portu.
netstat
příkaz zobrazuje služby naslouchající portům na serveru Linux a podrobnosti o všech připojeních, která jsou k nim aktuálně vytvořena. Podrobnosti o připojení, které je třeba vzít v úvahu při základním odstraňování problémů s démonem sítě, jsou adresy, na kterých démon naslouchá (včetně čísla portu), identifikátor procesu démona ( PID) a název programu.
Musíte spustit netstat
na serveru, na kterém je služba spuštěna.Netstat
není ovlivněna vaší konfigurací brány firewall.
Poznámka: Můžete také použít lsof
a ss
příkazy pro kontrolu portů. Mnoho příznaků příkazů obsažených v tomto článku je stejných, když spustíte lsof
a ss
příkazy. Výstup vrácený při použití těchto příkazů se však nemusí podobat výstupu netstat
nástroj. Další informace o obou příkazech naleznete v lsof
a ss
příkazové příručky.
Zkontrolujte porty
Chcete-li zobrazit seznam portů TCP, na kterých se naslouchá, a název démona každého posluchače a jeho PID, spusťte následující příkaz:
sudo netstat -plnt
Následující příklad ukazuje výstup pro tři běžné programy, které poslouchají na třech různých zásuvkách.
$ sudo netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3686/mysqld
tcp 0 0 :::443 :::* LISTEN 2218/httpd
tcp 0 0 :::80 :::* LISTEN 2218/httpd
tcp 0 0 :::22 :::* LISTEN 1051/sshd
Filtrovat seznam
Pokud je seznam naslouchacích démonů dlouhý, můžete použít grep
k jeho filtrování. Například k odfiltrování všeho kromě výchozího portu webového serveru 80
, spusťte následující příkaz:
$ sudo netstat -plnt | grep ':80'
tcp 0 0 :::80 :::* LISTEN 8448/httpd
Analyzujte výsledky
Mezi běžné výsledky patří následující výsledky:
- Na portu nic nenaslouchá. Zkontrolujte konfigurační soubory služby a poté službu restartujte.
- Správná služba naslouchá na správném portu. V tomto případě musíte službu důkladněji otestovat. Přeskočte na článek o testování odezvy naslouchací služby pomocí netcat.
- Zdá se, že na portu naslouchá něco jiného než očekávaná služba.
Poznámka :Na portu může naslouchat superserver, jako je xinetd. Zkontrolujte konfiguraci xinetd, abyste se ujistili, že je toto chování přijatelné.
Pokud na portu naslouchá něco jiného, můžete program deaktivovat spuštěním sudo service httpd stop
nebo změňte jeho konfiguraci tak, aby již na portu nenaslouchala. Když netstat
ukazuje, že port je volný, povolte správnou službu (například sudo service vsftpd start
).
Pokud provedete nějaké změny, protože naslouchá nesprávná služba, spusťte netstat
příkaz znovu. Pokud netstat
nezobrazuje, že program naslouchá na správném portu, musíte vyřešit jeho konfiguraci, než budete pokračovat.
Pokud v tomto okamžiku provedete změny, otestujte své nastavení a ověřte, že jste problém vyřešili.
Pokud používáte netstat
nevyřešil problémy s portem, pokračujte v testování připojení ke službě pomocí příkazu netcat.