linux查看端口被哪个程序占用命令

worktile 其他 106

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,可以使用以下命令查看端口被哪个程序占用:

    1. netstat命令:
    “`shell
    netstat -tulpn | grep <端口号>
    “`
    其中,”-tulpn”参数用于显示TCP、UDP监听的端口,并显示对应的进程ID;”grep”命令用于过滤特定端口号的结果。

    2. lsof命令:
    “`shell
    lsof -i :<端口号>
    “`
    使用”-i”参数表示显示网络相关的文件,”:<端口号>“表示要查找的特定端口号。

    3. ss命令:
    “`shell
    ss -lntu | grep <端口号>
    “`
    其中,”-lntu”参数用于显示监听的TCP和UDP端口,并显示对应的进程ID;”grep”命令用于过滤特定端口号的结果。

    以上三个命令在终端输入后,会显示占用该端口的程序名称和进程ID,从而可以确定具体的程序占用了该端口。

    需要注意的是,执行这些命令可能需要root权限。如果没有root权限,可以尝试使用”sudo”命令来提升权限。

    总结起来,可以使用netstat、lsof和ss这三个命令来查看端口被哪个程序占用,根据实际情况选择其中之一即可。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux中,可以使用以下命令来查看端口被哪个程序占用:

    1. netstat命令:
    netstat -tuln

    这个命令可以显示当前系统上所有正在监听的端口及其对应的程序。其中,-t参数用于显示TCP端口,-u参数用于显示UDP端口,-l参数用于展示正在监听的端口,-n参数用于显示端口号而非服务名。

    示例输出:
    “`
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
    tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN
    udp 0 0 0.0.0.0:68 0.0.0.0:*
    “`

    从输出中可以看到,22端口被程序监听使用,对应的程序是sshd;27017端口被程序监听使用,对应的程序是mongod;68端口被程序监听使用,但没有对应的程序名。

    2. lsof命令:
    sudo lsof -i:端口号

    这个命令可以显示指定端口被哪个程序占用。其中,-i参数用于指定需要查询的网络端口号。

    示例输出:
    “`
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    sshd 1234 root 3u IPv4 12345 0t0 TCP *:22 (LISTEN)
    “`

    从输出中可以看到,22端口被sshd程序占用。

    3. ss命令:
    sudo ss -ltpn | grep 端口号

    这个命令可以显示指定端口被哪个程序占用。其中,-l参数用于仅显示监听(listening)的端口,-t参数用于只显示TCP端口,-p参数用于显示程序名称和PID,-n参数用于显示端口号而非服务名。

    示例输出:
    “`
    LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:((“sshd”,1234,3))
    “`

    从输出中可以看到,22端口被sshd程序占用,对应的PID是1234。

    4. fuser命令:
    sudo fuser -n tcp 端口号

    这个命令可以显示指定TCP端口被哪个程序占用。

    示例输出:
    “`
    端口号/tcp: PID
    端口号/tcp: PID
    “`

    从输出中可以看到,端口号被对应的程序占用。

    5. 基于/proc文件系统的检查:
    sudo cat /proc/net/tcp
    sudo cat /proc/net/udp
    sudo cat /proc/net/raw

    这些命令可以查看TCP、UDP、RAW协议的端口信息,可以通过查找端口号来确定程序和PID。

    示例输出:
    “`
    sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
    0: 00000000:0035 00000000:0000 0A 00000000:00000000 00:00000000 00000000 123 0 12345 1 e4b027c0 300 0 0
    “`

    从输出中可以找到对应的本地地址和端口号,以及对方的地址和端口号。通过PID来确定程序。

    以上是几个常用的在Linux中查看端口被哪个程序占用的命令。根据不同的需求,可以使用不同的命令来查看对应的结果。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux中,你可以使用以下命令来查看端口被哪个程序占用:

    1. 使用 netstat 命令
    “`shell
    netstat -tuln | grep 端口号
    “`
    这个命令会列出当前系统中所有正在监听的端口,并筛选出指定端口号相关的信息。在输出的结果中,你可以看到该端口所对应的进程 ID(PID)。

    2. 使用 lsof 命令
    “`shell
    lsof -i :端口号
    “`
    这个命令会列出所有正在使用指定端口的进程信息,包括进程的 PID、进程名称和所使用的端口。

    3. 使用 ss 命令
    “`shell
    ss -lptn | grep 端口号
    “`
    这个命令会显示当前监听的端口以及对应的进程信息。

    另外,如果你已经知道某个程序的进程 ID(PID),你可以使用以下命令来查看该进程的详细信息:
    “`shell
    ps -p 进程ID -o comm=
    “`
    这个命令会显示指定进程的名称。

    希望以上命令能够帮助你查看端口被哪个程序占用。如果你需要更多的信息,可以参考命令的帮助文档或者使用 man 命令来查看命令的手册。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部