zoukankan      html  css  js  c++  java
  • netstat命令怎么查看端口是否占用

    转自:http://www.ahlinux.com/start/cmd/527.html

    netstat命令是一个监控TCP IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,这里我只用到其
    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,这里我只用到其中的部分功能.
    netstat 的常用参数: - t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。-a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。
    -l 显示正在被监听(listen)的端口, -n表示直接显示端口数字而不是通过察看/etc/service来转换为端口名,-p选项表示列出监听的程序。


    有关netstat命令的详细用法,可以参考:


    windows 端口被占用问题 netstat命令查看端口占用 Linux下netstat命令实例 linux命令实例教程之netstat命令 Linux netstat命令用法详解 netstat与awk命令统计网络连接数的方法 netstat 查看电脑打开的端口 使用netstat找到占用端口的进程
    1)代码示例:
    netstat -tl
    查看当前tcp监听端口
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State     
    tcp        0      0 *:rrac                  *:*                     LISTEN     
    tcp        0      0 *:34006                 *:*                     LISTEN     
    ......
    2)代码示例:
    netstat -tlp
    查看当前tcp监听端口,需要显示监听的程序名,当不清楚mysql的监听端口时比较好用。
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
    tcp        0      0 *:rrac                  *:*                     LISTEN      -                         
    tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld  
    ......
     
    3)代码示例:
    netstat -tl | grep 34006
    只查看mysql的监听端口,当前启动的mysql端口为34006,明确知道mysql监听端口时使用。


    4)代码示例:
    netstat -ta | grep 34006
    tcp        0      0 *:34006                 *:*                     LISTEN     
    tcp        0      0 linux.local:34006       linux.local:41485       ESTABLISHED
    tcp        0      0 linux.local:34006       linux.local:41486       ESTABLISHED
    ...
    tcp        0      0 10.3.2.35:41488         10.3.2.35:34006         ESTABLISHED
    tcp        0      0 10.3.2.35:41489         10.3.2.35:34006         ESTABLISHED
    tcp        0      0 10.3.2.35:41490         10.3.2.35:34006         ESTABLISHED
    由于数据库和运用程序都放在同一台机器了,因此这里连接被显示了两次。
    可以使用-p参数来显示PID,然后grep PID。


    5)代码示例:
    netstat -tap | grep 34006 | grep 23425
    23425是当前mysql的PID
    tcp        0      0 *:34006                 *:*                     LISTEN      23425/mysqld       
    tcp        0      0 linux.local:34006       linux.local:41510       ESTABLISHED 23425/mysqld       
    tcp        0      0 linux.local:34006       linux.local:41511       ESTABLISHED 23425/mysqld       
    tcp        0      0 linux.local:34006       linux.local:41516       ESTABLISHED 23425/mysqld 
    打开终端,执行如下命令,查看各进程占用端口情况:

    代码示例:
    # ps -ef|wc -l    //查看后台运行的进程总数
    # ps -fu csvn    //查看csvn进程

    # netstat -lntp  //查看开启了哪些端口
    # netstat -r      //本选项可以显示关于路由表的信息
    # netstat -a     //本选项显示一个所有的有效连接信息列表
    # netstat -an|grep 8080
    # netstat -na|grep -i listen //可以看到目前系统侦听的端口号
    # netstat -antup    //查看已建立的连接进程,所占用的端口。
    netstat -anp|grep  1487
    lsof -i:1487


    查看哪些进程打开了指定端口1487

    关闭端口实际上是关闭其对应的服务,比如80端口是HTTPD  关闭80端口可以通过关闭httpd服务来实现
    每个端口都有一个守护进程,kill掉这个守护进程就可以了
    WINDOWS下用法:
    目标:在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用.
    操作:操作分为两步:(1)查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令
    Netstat –ano|findstr “<端口号>”,如图,最后一列为PID。图中的端口号为1068,所对应的PID为3840。

  • 相关阅读:
    How to build Linux system from kernel to UI layer
    Writing USB driver for Android
    Xposed Framework for Android 8.x Oreo is released (in beta)
    Linux Smartphone Operating Systems You Can Install Today
    Librem 5 Leads New Wave of Open Source Mobile Linux Contenders
    GUADEC: porting GNOME to Android
    Librem 5 – A Security and Privacy Focused Phone
    GNOME and KDE Join Librem 5 Linux Smartphone Party
    Purism计划推出安全开源的Linux Librem 5智能手机
    国产系统之殇:你知道的这些系统都是国外的
  • 原文地址:https://www.cnblogs.com/zgq123456/p/9885201.html
Copyright © 2011-2022 走看看