回覆列表
  • 1 # 使用者7255976288107

      Linux下面沒有什麼直接開啟或者關閉埠的命令,因為若僅僅只是開啟了埠而不把它與程序相聯絡的話,埠的開啟與關閉就顯得毫無意義了(開了埠卻沒有程式處理進來的資料)。也就是說,Linux裡面埠的活動與程序是緊密相連的,如果想要關閉某個埠,那麼只要殺掉它對應的程序就可以了。  

      例如要關閉22號埠:

      $ netstat -anp | grep :22

      tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1666/sshd

      # -a 顯示所有活動的TCP連線,以及正在監聽的TCP和UDP埠  

      # -n 以數字形式表示地址和埠號,不試圖去解析其名稱(number)  

      # -p 列出與埠監聽或連線相關的程序(有個地方需要注意,下面會提到)(pid)

      知道了22號埠對應的程序ID 1666,只要:  

      $ kill 1666

      即可。 

      其中“-p”選項需要注意一個許可權的問題,如果在普通使用者登入的shell裡面執行netstat命令,那麼只能列出擁有該普通使用者許可權的相關程序,如果想要看到所有的埠情況,最好還是切到root。 

      附帶幾個netstat常用選項用法: 

      $ netstat -tn # 列出所有TCP協議的連線狀態

      # -t 只顯示與TCP協議相關的連線和埠監聽狀態,注意和-a有區別(tcp) 

      $ netstat -tuln # 列出所有inet地址類的埠監聽狀態

  • 中秋節和大豐收的關聯?
  • 屬龍的人辦公室養什麼花最旺財?