欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

linux中l(wèi)sof命令 linux lsof命令詳解

Linux lsof命令詳解

lsof全名list opened files,也就是列舉系統(tǒng)中已經(jīng)被打開(kāi)的文件。我們都知道,linux環(huán)境中,任何事物都是文件,

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)平桂,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220

設(shè)備是文件,目錄是文件,甚至sockets也是文件。所以,用好lsof命令,對(duì)日常的linux管理非常有幫助。

lsof是linux最常用的命令之一,通常的輸出格式為:

引用

常見(jiàn)包括如下幾個(gè)字段:更多的可見(jiàn)manual。

1、COMMAND

默認(rèn)以9個(gè)字符長(zhǎng)度顯示的命令名稱。可使用+c參數(shù)指定顯示的寬度,若+c后跟的參數(shù)為零,則顯示命令的全名

2、PID:進(jìn)程的ID號(hào)

3、PPID

父進(jìn)程的IP號(hào),默認(rèn)不顯示,當(dāng)使用-R參數(shù)可打開(kāi)。

4、PGID

進(jìn)程組的ID編號(hào),默認(rèn)也不會(huì)顯示,當(dāng)使用-g參數(shù)時(shí)可打開(kāi)。

5、USER

命令的執(zhí)行UID或系統(tǒng)中登陸的用戶名稱。默認(rèn)顯示為用戶名,當(dāng)使用-l參數(shù)時(shí),可顯示UID。

6、FD

是文件的File Descriptor number,或者如下的內(nèi)容:

(這里很難翻譯對(duì)應(yīng)的意思,保留英文)

引用

文件的File Descriptor number顯示模式有:

引用

7、TYPE

引用

IPv4 IPv4的包;

IPv6 使用IPv6格式的包,即使地址是IPv4的,也會(huì)顯示為IPv6,而映射到IPv6的地址;

DIR 目錄

LINK 鏈接文件

詳情請(qǐng)看manual中更多的注釋。

8、DEVICE

使用character special、block special表示的設(shè)備號(hào)

9、SIZE

文件的大小,如果不能用大小表示的,會(huì)留空。使用-s參數(shù)控制。

10、NODE

本地文件的node碼,或者協(xié)議,如TCP等

11、NAME

掛載點(diǎn)和文件的全路徑(鏈接會(huì)被解析為實(shí)際路徑),或者連接雙方的地址和端口、狀態(tài)等

常用示例:

1.顯示開(kāi)啟文件/home/oracle/10.2.0/db_1/bin/tnslsnr的進(jìn)程

2.知道22端口現(xiàn)在運(yùn)行什么程序

3.顯示init進(jìn)程現(xiàn)在打開(kāi)的文件

6.依照文件夾/home/oracle來(lái)搜尋,但不會(huì)打開(kāi)子目錄,用來(lái)顯示目錄下被進(jìn)程開(kāi)啟的文件

顯示內(nèi)容太多了,不顯示了

lsof -n 不將IP轉(zhuǎn)換為hostname,缺省是不加上-n參數(shù)

關(guān)注:

進(jìn)程調(diào)試命令:truss、strace和ltrace

進(jìn)程無(wú)法啟動(dòng),軟件運(yùn)行速度突然變慢,程序的"SegmentFault"等等都是讓每個(gè)Unix系統(tǒng)用戶頭痛的問(wèn)題,而這些問(wèn)題都可以通過(guò)使用truss、strace和ltrace這三個(gè)常用的調(diào)試工具來(lái)快速診斷軟件的"疑難雜癥"。

Linux如何查看端口是否被占用

Linux如何查看端口是否被占用?下面為大家推薦兩種檢測(cè)方法,對(duì)Linux系統(tǒng)不熟悉的小伙伴可以看看。

1、使用lsof命令

lsof是一個(gè)非常強(qiáng)大的linux工具,她被用來(lái)查找哪些程序使用了那些文件。在linux系統(tǒng)下,基本上所有的東西都可以被當(dāng)作文件來(lái)用。socket當(dāng)然也是一種文件了。所以lsof可以用來(lái)查找誰(shuí)用了某一個(gè)端口。

具體方法:lsof -i :port_number |grep "(LISTEN)"

-i是用來(lái)查找和網(wǎng)絡(luò)相關(guān)的文件,":"號(hào)是必須的,它是標(biāo)志你查找的是一個(gè)端口。port_number就是你要查找的端口號(hào),譬如你要查找是否 有程序占用了oracle的監(jiān)聽(tīng)端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已經(jīng)占用了,那么下面打印的第二個(gè)字段就是該程序的進(jìn)程id,第一個(gè)字段是進(jìn)程的名字。

如果只有l(wèi)osf -i :port_number可能會(huì)查到很多應(yīng)用程序,但這些程序?qū)嶋H并沒(méi)有占用你指定的端口,這些端口只是連接到本機(jī)器或者別的機(jī)器的該端口。所以要grep "(LISTEN)“,因?yàn)橐粋€(gè)端口只可能被一個(gè)程序占用的,所以這種方法是可靠的。

2、使用netstat 命令

大家一定對(duì)這個(gè)命令比較熟悉了,可能你從沒(méi)有想到用到來(lái)查找哪一個(gè)程序的占用了指定的端口。但是netstat -an 的確提供了這種功能。所以有問(wèn)題了一定要想到先去查找man手冊(cè),不過(guò)說(shuō)實(shí)話,某些man手冊(cè)寫得讓中國(guó)人看不懂,那沒(méi)有辦法了,就googe或者 baidu一下吧。

執(zhí)行man netstat命令,你會(huì)發(fā)現(xiàn)netstat 提供了'-p'的選項(xiàng),這個(gè)選項(xiàng)的功能是告訴你哪個(gè)程序占用了該端口,但是她提供的.形式比較古怪是以pid/process_name提供的。pid當(dāng)然 是進(jìn)程id了,process_name是進(jìn)程的命令,中間以'/'號(hào)分隔。

和上面的原因一樣,我們只查找listen的端口,netstat 給我們提供了-l的選項(xiàng),這個(gè)選項(xiàng)不是默認(rèn)的選項(xiàng)。

下面以1521端口來(lái)看怎么查找到該程序,我們使用下面的命令:netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'在這里使用awk來(lái)匹配第4個(gè)字段的模式是為了避免誤判。

Linux中如何檢查開(kāi)放端口

場(chǎng)景一:了解系統(tǒng)開(kāi)放的端口,和正在使用的端口,在各種情況下都會(huì)有所幫助。

比如:如果你的服務(wù)器正在運(yùn)行著 Nginx,那么其端口應(yīng)該為80或者443,可以檢查一下。再比如你可以檢查一下 SMTP、SSH或者其他服務(wù)用的是哪個(gè)端口。當(dāng)有新的服務(wù)需要開(kāi)放端口的時(shí)候,你需要知道目前已經(jīng)被占用的,都有哪些端口。

此外,可以檢查一下是否有開(kāi)放的可用于入侵檢測(cè)的端口。

Linux 中有多種檢查端口的方法,本文將介紹兩種。

使用 lsof 檢查當(dāng)前系統(tǒng)開(kāi)放的端口

不管你是直接登錄的系統(tǒng),還是使用 ssh 連接的,都可以使用 lsof 命令來(lái)檢查端口:

該命令用于查找用戶使用的文件和進(jìn)程。上述命令中的選項(xiàng),包括:

但是,這也會(huì)展示許多計(jì)算機(jī)并沒(méi)有監(jiān)聽(tīng)的其他端口。

我們可以通過(guò)管道將此輸出傳輸?shù)?grep,并匹配模式 “LISTEN”,如下所示:

這樣就只顯示計(jì)算機(jī)正在監(jiān)聽(tīng)的,以及正在運(yùn)行的服務(wù)器所占用的端口。

使用 netcat 命令檢查遠(yuǎn)程服務(wù)器上的端口

nc(Netcat) 是一個(gè)命令行實(shí)用程序,使用TCP和UDP協(xié)議在網(wǎng)絡(luò)計(jì)算機(jī)之間讀取和寫入數(shù)據(jù)。

以下是nc命令的語(yǔ)法:

這個(gè)工具有一個(gè)很實(shí)用的 -z 選項(xiàng),它會(huì)讓 nc 命令掃描正在監(jiān)聽(tīng)的守護(hù)進(jìn)程,但是不會(huì)向端口發(fā)送任何數(shù)據(jù)。

將其與 -v 選項(xiàng)結(jié)合,啟動(dòng)詳細(xì)信息,會(huì)有詳細(xì)信息的輸出。

losf與nc的不同點(diǎn):

lsof命令簡(jiǎn)介

lsof 命令用于顯示 Linux 系統(tǒng)當(dāng)前已打開(kāi)的所有文件列表。查看進(jìn)程或系統(tǒng)打開(kāi)的文件會(huì)給調(diào)試帶來(lái)極大的幫助。下面簡(jiǎn)單地介紹 lsof 常使用的功能。

lsof (list open files)命令用于查看你進(jìn)程打開(kāi)的文件,打開(kāi)文件的進(jìn)程,進(jìn)程打開(kāi)的端口(TCP、UDP),還可以用于找回/恢復(fù)被刪除的文件。lsof 命令需要訪問(wèn)核心內(nèi)存和各種文件,所以需要具備 root 超級(jí)管理員權(quán)限的用戶才能執(zhí)行此命令。

linux的nc命令,NetCat,在網(wǎng)絡(luò)工具中有“瑞士軍刀”美譽(yù)“,是解決這個(gè)問(wèn)題的工具。 nc命令安裝: yum install nc

以上是看來(lái)一些文章的總結(jié)分享內(nèi)容,歡迎補(bǔ)充討論。

Linux 命令神器:lsof

lsof是系統(tǒng)管理/安全的管理工具。將這個(gè)工具稱之為lsof真實(shí)名副其實(shí),因?yàn)樗侵浮? 列出打開(kāi)文件(lists openfiles) ”。而有一點(diǎn)要切記,在Unix中一切(包括網(wǎng)絡(luò)套接口)都是文件。

有趣的是,lsof也是有著最多開(kāi)關(guān)的Linux/Unix命令之一。它有那么多的開(kāi)關(guān),它有許多選項(xiàng)支持使用-和+前綴。

正如你所見(jiàn),lsof有著實(shí)在是令人驚訝的選項(xiàng)數(shù)量。你可以使用它來(lái)獲得你系統(tǒng)上設(shè)備的信息,你能通過(guò)它了解到指定的用戶在指定的地點(diǎn)正在碰什么東西,或者甚至是一個(gè)進(jìn)程正在使用什么文件或網(wǎng)絡(luò)連接。

對(duì)于我,lsof替代了netstat和ps的全部工作。它可以帶來(lái)那些工具所能帶來(lái)的一切,而且要比那些工具多得多。那么,讓我們來(lái)看看它的一些基本能力吧:

理解一些關(guān)于lsof如何工作的關(guān)鍵性東西是很重要的。最重要的是,當(dāng)你給它傳遞選項(xiàng)時(shí),默認(rèn)行為是對(duì)結(jié)果進(jìn)行“或”運(yùn)算。因此,如果你正是用-i來(lái)拉出一個(gè)端口列表,同時(shí)又用-p來(lái)拉出一個(gè)進(jìn)程列表,那么默認(rèn)情況下你會(huì)獲得兩者的結(jié)果。

下面的一些其它東西需要牢記:

正如我所說(shuō)的,我主要將lsof用于獲取關(guān)于系統(tǒng)怎么和網(wǎng)絡(luò)交互的信息。這里提供了關(guān)于此信息的一些主題:

有些人喜歡用netstat來(lái)獲取網(wǎng)絡(luò)連接,但是我更喜歡使用lsof來(lái)進(jìn)行此項(xiàng)工作。結(jié)果以對(duì)我來(lái)說(shuō)很直觀的方式呈現(xiàn),我僅僅只需改變我的語(yǔ)法,就可以通過(guò)同樣的命令來(lái)獲取更多信息。

語(yǔ)法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

你也可以通過(guò)在-i后提供對(duì)應(yīng)的協(xié)議來(lái)僅僅顯示TCP或者UDP連接信息。

或者,你也可以通過(guò)端口搜索,這對(duì)于要找出什么阻止了另外一個(gè)應(yīng)用綁定到指定端口實(shí)在是太棒了。

這對(duì)于你在檢查是否開(kāi)放連接到網(wǎng)絡(luò)中或互聯(lián)網(wǎng)上某個(gè)指定主機(jī)的連接時(shí)十分有用。

你也可以組合主機(jī)與端口的顯示信息。

找出正等候連接的端口。

你也可以grep “LISTEN”來(lái)完成該任務(wù)。

你也可以顯示任何已經(jīng)連接的連接。

你也可以通過(guò)grep搜索“ESTABLISHED”來(lái)完成該任務(wù)。

你也可以獲取各種用戶的信息,以及它們?cè)谙到y(tǒng)上正干著的事情,包括它們的網(wǎng)絡(luò)活動(dòng)、對(duì)文件的操作等。

可以消滅指定用戶運(yùn)行的所有東西,這真不錯(cuò)。

可以查看指定程序或進(jìn)程由什么啟動(dòng),這通常會(huì)很有用,而你可以使用lsof通過(guò)名稱或進(jìn)程ID過(guò)濾來(lái)完成這個(gè)任務(wù)。下面列出了一些選項(xiàng):

通過(guò)查看指定文件或目錄,你可以看到系統(tǒng)上所有正與其交互的資源——包括用戶、進(jìn)程等。

與tcpdump類似,當(dāng)你開(kāi)始組合查詢時(shí),它就顯示了它強(qiáng)大的功能。

這通常(當(dāng)不總是)表示某個(gè)攻擊者正嘗試通過(guò)刪除文件入口來(lái)隱藏文件內(nèi)容。

本入門教程只是管窺了lsof功能的一斑,要查看完整參考,運(yùn)行man lsof命令或查看在線版本。

我總結(jié)一下lsof指令的用法:

lsof abc.txt 顯示開(kāi)啟文件abc.txt的進(jìn)程

lsof -i :22 知道22端口現(xiàn)在運(yùn)行什么程序

lsof -c abc 顯示abc進(jìn)程現(xiàn)在打開(kāi)的文件

lsof -g gid 顯示歸屬gid的進(jìn)程情況

lsof +d /usr/local/ 顯示目錄下被進(jìn)程開(kāi)啟的文件

lsof +D /usr/local/ 同上,但是會(huì)搜索目錄下的目錄,時(shí)間較長(zhǎng)

lsof -d 4 顯示使用fd為4的進(jìn)程

lsof -i 用以顯示符合條件的進(jìn)程情況

lsof -p 12 看進(jìn)程號(hào)為12的進(jìn)程打開(kāi)了哪些文件

lsof +|-r [t] 控制lsof不斷重復(fù)執(zhí)行,缺省是15s刷新

-r,lsof會(huì)永遠(yuǎn)不斷的執(zhí)行,直到收到中斷信號(hào)

+r,lsof會(huì)一直執(zhí)行,直到?jīng)]有檔案被顯示

當(dāng)前名稱:linux中l(wèi)sof命令 linux lsof命令詳解
文章URL:http://www.chinadenli.net/article46/dddpeeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)搜索引擎優(yōu)化網(wǎng)站排名品牌網(wǎng)站制作網(wǎng)站營(yíng)銷網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)