如何使用netstat命令

如何使用netstat命令

我的问题是与我的示例相关的端口上的“监听”或“接受”是什么意思?

示例:我有一个 tomcat 服务器,它将使用端口 8080。我想确保该端口可供我使用。

我应该在我的 UNIX 服务器上执行哪些命令?为什么?

这样的命令会给我什么信息:netstat -an | grep LISTEN

答案1

你可以试试sudo lsof -i :8080。这将列出对您的端口执行任何操作的进程。

答案2

最好使用:

netstat -ant | egrep :8080

但它的参数:

-a : all
-t TCP protocol
-n numeric, don't use name

请注意我的80端口示例:

tcp        0      1 192.168.1.7:57511       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57547       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57512       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57514       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57562       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57565       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57513       182.50.136.239:80       SYN_SENT   
tcp        0      0 192.168.1.7:39191       198.252.206.25:80       ESTABLISHED
tcp        0      1 192.168.1.7:57563       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57545       182.50.136.239:80       SYN_SENT   
tcp        0      0 192.168.1.7:39205       198.252.206.25:80       ESTABLISHED
tcp        0      1 192.168.1.7:57546       182.50.136.239:80       SYN_SENT   
tcp        0      1 192.168.1.7:57564       182.50.136.239:80       SYN_SENT   
tcp        0      0 192.168.1.7:49217       198.252.206.16:80       ESTABLISHED
tcp        0      0 192.168.1.7:39247       198.252.206.25:80       ESTABLISHED
tcp      957      0 192.168.1.7:42327       198.252.206.25:80       ESTABLISHED

第一列是协议,第二列:接收队列(数字),第三列:发送队列(数字),第四列:本地地址+端口,第五列:外部主机:端口,第六列:握手状态,例如 LISTEN、SYN 等。

即使你可以使用:

netstat -antp |egrep tomcat

我为你举例 mysql :

root@debian:/home/mohsen# netstat -antp |egrep mysql

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      24783/mysqld    

已附加新列,是的pid/porgram

相关内容