zoukankan      html  css  js  c++  java
  • 01-Linux端口占用查看

    工作中,我们经常会遇到端口占用的问题,下面介绍几种常用查看方法。

    一、使用lsof

    使用-i参数查看端口占用情况

    lsof -i:80

    二、使用netstat

    参数

    -a 查看所有

    • -t (tcp) 仅显示tcp相关选项
    • -u (udp)仅显示udp相关选项
    • -n 拒绝显示别名,能显示数字的全部转化为数字
    • -l 仅列出在Listen(监听)的服务状态
    • -p 显示建立相关链接的程序名

    运行命令

    netstat -atunlp

    三、使用 ss

    ss是Socket Statistics的缩写。用来获取socket统计信息,它可以显示和netstat类似的内容。ss 的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

    当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。

    ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效。 

    参数

    ss -t -a【显示TCP连接】

    •   -t: tcp

        -a:  all

        -l:  listening         【ss -l列出所有打开的网络连接端口】

        -s:  summary        【显示 Sockets 摘要】

        -p:  progress

        -n:  numeric         【不解析服务名称】

        -r:  resolve        【解析服务名称】

        -m: memory        【显示内存情况】

    查看进程使用的socket 命令:

    ss -pl   或者( ss -lp | grep 22 

    显示所有UDP Sockets 命令:

      ss -u –a

    匹配远程地址和端口号:

      ss dst 192.168.25.100

       ss dst 192.168.25.100:50460

    匹配本地地址和端口号:

       ss src 192.168.25.140

    ss 和 netstat 效率对比:

    netstat 

    time netstat –an 【效率低】

    ss

    time ss    【效率高】

     

    四、使用nmap进行端口扫描

    redhat、centos等发行版安装nmap

    sudo yum install nmap

    ubuntu等发行版安装nmap

    sudo apt-get install nmap

    扫描本机开放的所有端口

    nmap 127.0.0.1

     

  • 相关阅读:
    Docker 笔记
    Win10 Docker 安装使用
    golang struct转map
    Golang 中错误与异常需要重新认识
    Golang 中三种读取文件发放性能对比
    GoLang中如何使用多参数属性传参
    GoLang中flag标签使用
    Windows本地搭建Edusoho环境
    edusoho上传视频弹出abort之解决方案
    XAMPP启动mysql遇到的问题
  • 原文地址:https://www.cnblogs.com/blog-zg/p/12301015.html
Copyright © 2011-2022 走看看