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

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM