系統開啟的服務

2021-09-30 03:42:48 字數 4064 閱讀 3263

系統開啟的服務

好了,現在假設您已經知道了 daemons 的啟動檔案放置的目錄,也知道了服務與 port 的對應,那麼要如何查詢目前系統上面已經啟動了的服務呢?不要再打混了!已經學過了 ps 與 top 應該要會應用才對耶!呵呵!沒錯,可以使用 ps 與 top 來找尋已經啟動了的服務的程式與他的 pid 呢!不過,我們怎麼知道該服務啟動的 port 是哪乙個?呵呵!好問題!可以直接使用 netstat 這個網路狀態觀察指令來檢查我們的 port 呢!甚至他也可以幫我們找到該 port 的程式呢( pid )!好了,那麼我們就來試看看這個指令的用法吧!

[root @test /root]#

netstat [-r] [-i inte***ce] 

[root @test /root]#

netstat [-antulp] 

引數說明: 

-r  :顯示出 route 的意思; 

-i  :顯示出 inte***ce 的內容,跟 ifconfig 類似啦! 

-a  :顯示出目前所有的網路聯機狀態! 

-n  :預設情況中,顯示出的 host 會以 host name 來顯現,若為 n 則可以使 port 與 host 都以數字顯示 

-t  :僅顯示 tcp 封包的聯機行為 

-u  :僅顯示 udp 的封包聯機狀態 

-l  :僅顯示 listen 的內容 

-p  :同時顯示此一聯機的 pid 喔!(注意:只有 root 才能行使此功能!) 

範例: 

[root @test /root]#

netstat -r

<==嘿嘿!顯示出目前的路由表! 

kernel ip routing table 

destination     gateway         genmask         flags   mss window  irtt iface 

140.116.141.253 *               255.255.255.255 uh       40 0          0 ppp0 

192.168.1.0     *               255.255.255.0   u        40 0          0 eth0 

192.168.0.0     *               255.255.255.0   u        40 0          0 eth0 

127.0.0.0       *               255.0.0.0       u        40 0          0 lo 

default         140.116.141.253 0.0.0.0         ug       40 0          0 ppp0 

[root @test /root]#

netstat -i eth0

<==看看底下顯示出的內容,是否跟 ifconfig eth0 類似呀!? 

kernel inte***ce table 

iface   mtu met   rx-ok rx-err rx-drp rx-ovr   tx-ok tx-err tx-drp tx-ovr *** 

eth0   1500   077199373      0      0      169616342      0      0      0 bmru 

lo    16436   0 1130485      0      0      0 1130485      0      0      0 lru 

[root @test /root]#

netstat -an 

<==顯示所有的聯機狀態,並且以數字型態顯示 

[root @test /root]#

netstat -tul

<==顯示 listen 的及 tcp 與 udp 的聯機狀態,如下: 

注意:上面的 listen 表示該 port 是已經在 監聽 網路服務啦!而左邊的 tcp 指的是 tcp 封包! 

[root @test /root]#

netstat -anp | more<==這個指令很常下達!請記得呦!

netstat 可是很了不起的指令,一定要學會的!尤其他可以讓我們了解目前的你的主機的聯機狀態!與開啟的 port 有哪些!所以一定得學會才行呀!如果你分別下達:

一定會發現有點奇怪?怎麼有的 port 會以服務名稱(例如上面例子裡的 pop3 ...)有的會以 port 號碼來顯示呢!?嘿嘿!那就是 /etc/services 以及 -n 這個引數的用途啦!你可以發現的是,如果 netstat -a 時,顯示出來的 port 號碼在 /etc/services 存在對應的服務名稱的時候,那麼預設他就會顯示出該服務名稱啦!但是若在 /etc/services 找不到檔案的話,那麼自然就還是以 port 號碼來顯示的!那麼加上了 -n 引數後,不論如何,他都會以 port 及 ip 來顯示啦!

另外,那個 -p 也很有用呦!尤其是在一些莫名其妙的聯機出現時,可以用 netstat –anp | more查到 pid ,然後再以我們之前談到的 系統資源管理 部分,利用 kill 來殺掉該 pid 的程式! 此外,使用 netstat –tlp 也可以得到目前在 listen 的 port 的服務名稱,嘿嘿!那樣就可以知道該 port 是那個程式來啟動的!很便利ㄋㄟ?

善用 netstat 可以查得相當多的網路資訊!尤其在關閉本機的 port 時!假設我要將 ftp 關閉掉,那麼要使用

ntsysv,

chkconfig 以及看一下 /etc/rc.d/rc.local 裡頭的設定囉!請注意,這個時候僅是將『開機預設啟動關閉』而已,並沒有實際關閉目前的服務,假設您發現 ftp 還在啟動的專案,你要將他關閉,那麼就必須: 

使用 ntsysv 或 chkconfig 將 wu-ftpd 前面的符號關閉掉;

跳出之後,以 /etc/rc.d/init.d/xinet restart 或者是 service xinet restart 來重新啟動 xinet 這個服務;

再以 netstat -a | more 看一下 ftp 是否還在 listen 呢?

這樣才能關閉呢!同理可證囉!要關閉 sshd 怎麼關?!嘿嘿!自己測試看看囉!(

注意:事實上,在 linux 系統中,要『開或關某個 port 』,就是需要『啟動或關閉某個服務』啦!因此,你可以找出某個 port 對應的服務,程式對應的服務,進而啟動或關閉他,那麼那個經由該服務而啟動的 port ,自然就會關掉了!)

linux系統開啟ftp服務

如何在linux下開啟ftp服務 1.首先伺服器要安裝ftp軟體,檢視是否已經安裝ftp軟體下 which vsftpd 如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體 2.檢視ftp 伺服器狀態 service vsftpd status 3.啟動ftp伺服器 service vsft...

QNX系統下開啟SSH服務步驟

qnx系統下開啟ssh服務的步驟 具體可以參考 sshd的工具手冊,針對imx6q開發板,具體步驟如下 1 在 etc inetd.conf中新增如下 ssh stream tcp nowait root usr sbin sshd in.sshd i 在build檔案中新增 usr libexec...

如何開啟Centos6 4系統的SSH服務

無論是centos6.4系統的虛擬電腦還是伺服器,始終感覺直接在命令列中操作不方便 比如全選 複製 貼上 翻頁等等。比如伺服器就需要在機房給伺服器接上顯示器 鍵盤才操作感覺更麻煩。所以就可借助ssh 安全外殼協議 遠端操作和管理系統,不僅方便而且安全可靠。1 登入centos6.4系統。示例 使用r...