如何在Linux中的特定端口上使用netstat


15

伙计们,我想知道我的特定端口是否正在使用netstat运行服务器?我该如何实现?


1
netstat -anp | grep portNumber
破烂

Answers:


15

您可以使用

netstat -pnlt | grep ':portno'

另一个选项,您可以使用nmap工具检查服务器上的打开端口

nmap -sT -O localhost

输出量

Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-09-24 13:49 EDT
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1653 ports scanned but not shown below are in state: closed)
PORT      STATE SERVICE
22/tcp    open  ssh 
25/tcp    open  smtp
111/tcp   open  rpcbind
Device type: general purpose

Netstat示例:

[root@krizna ~]# netstat -pnlt | grep ':80'
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name 
tcp        0      0 :::80                       :::*                        LISTEN      1164/httpd          

我可以确定结果中的哪一部分是服务器?

检查netstat示例部分,端口::: 80显示在本地地址LISTENING下(我的意思是open)。

值得一提的是,grep':portno'也可能会选择一些恰好包含该序列的IPv6地址。如果您尝试在脚本中使用此命令,则可能会出现问题。
凯文·基恩

2

采用 netstat -anp | grep portNumber


所以即时通讯获得许多端口80连接的列表。我如何找到服务器端口?

2

我认为netstat -nat | grep port | grep LISTEN应该可以解决问题。


这列出了所有端口,然后列出了用于侦听端口的grep。相反,它应该只显示带有的监听端口,-l而不是-a。问题不仅在于TCP端口,因此该-t选项不应该存在。
Paul Tobias
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.