要查看程序监听的端口,可以使用以下方法:
使用 `netstat` 命令
`netstat` 是一个命令行工具,用于显示网络连接、路由表、接口统计信息等。要查看所有正在监听的 TCP 或 UDP 端口,可以使用以下命令:
```bash
sudo netstat -tunlp
```
`-t`:显示 TCP 端口。
`-u`:显示 UDP 端口。
`-n`:显示数字地址,而不是解析主机名。
`-l`:仅显示监听端口。
`-p`:显示监听者的进程 ID 和名称。
如果你只想查看特定端口的监听情况,可以使用以下命令:
```bash
sudo netstat -ltnp | grep ':<端口号>'
```
例如,查看端口 80 的监听情况:
```bash
sudo netstat -ltnp | grep ':80'
```
使用 `lsof` 命令
`lsof`(List Open Files)是 Linux 下用于列出打开文件的工具。在 Linux 中,端口也被视为一种文件,因此可以用 `lsof` 来查找监听特定端口的进程。要查看所有监听的端口,可以使用以下命令:
```bash
sudo lsof -i
```
要查看特定端口的监听进程,可以使用以下命令:
```bash
sudo lsof -i :<端口号>
```
例如,查看端口 80 的监听进程:
```bash
sudo lsof -i :80
```
使用 `ss` 命令
`ss`(Socket Statistics)是 `netstat` 的替代品,可以更加高效地查看监听端口。要查看所有正在监听的 TCP 和 UDP 端口,可以使用以下命令:
```bash
ss -tunlp
```
`-t`:显示 TCP 端口。
`-u`:显示 UDP 端口。
`-n`:显示数字地址,而不是解析主机名。
`-l`:仅显示监听端口。
使用任务管理器
在 Windows 系统中,可以使用任务管理器来查看特定端口的占用情况。首先,打开任务管理器(Ctrl + Shift + Esc),然后切换到“详细信息”选项卡,按“PID”列排序,找到占用特定端口的进程,并记下其进程 ID。接着,可以使用以下命令查看该进程的详细信息:
```bash
netstat -ano | findstr "<进程ID>"
```
例如,查看进程 ID 为 2016 的进程监听的端口:
```bash
netstat -ano | findstr "2016"
```
通过这些方法,你可以有效地查看程序监听的端口及其相关信息。