Linux基礎(二) proc檔案系統

2021-08-30 02:45:02 字數 2991 閱讀 7733

1、/proc檔案系統簡介

/proc檔案系統由一組目錄和檔案組成,裝配(mount)於/proc目錄下。/proc檔案系統是一種虛擬檔案系統,以檔案系統目錄和檔案形式提供乙個只想核心資料結構的介面。這為檢視和改變各種系統屬性開啟了方便之門。此外,還能通過一組以/proc/pid形式命名的的目錄檢視系統中各種程序的相關資訊。

通常,/proc目錄下的檔案內容都採取人類可讀取的文字形式,shell指令碼也能對其解析。程式可以開啟、讀取和寫入/proc目錄下的既定檔案。大多數情況下,只有特權級程序才能修改/proc目錄下的內容。

2、/proc/sys/net目錄

與/proc/

目錄中其它目錄不相同的是,

/proc/sys/

目錄下的檔案不僅能提供系統的有關資訊,而且還允許使用者立即停止或開啟核心的某些特性及功能。在

/proc/sys/

目錄中的

/proc/sys/net/

子目錄更是與網路息息相關,我們可以通過設定此目錄下的某些檔案來開啟與網路應用相關的特殊功能,同時,也可以通過設定這個目錄下的某些檔案來保護我們的網路安全。因此,作為一名

linux

下的網路管理員,就很有必要詳細了解

/proc/sys/net/

目錄下檔案的各種功能和設定方法,讓它能更好地為我們工作。

2.1/proc/sys/net/目錄說明

/proc/sys/net/

及ipv6/

。通過改變這些目錄中的檔案,網路管理員能夠在系統執行時調整相關網路引數。雖然在

linux 在

/proc/sys/net/

目錄下有兩個目錄,與現在的

ipv4

網路的執行息息相關,調整這兩個目錄下的某些檔案的引數,能為我們的網路應用帶到意想不到的效果,這兩個目錄就是

/proc/sys/net/core/

目錄和/proc/sys/net/ipv4/

目錄,下面筆者將會對這兩個目錄中的重要檔案分別作乙個詳細的說明。

2.1.1

/proc/sys/net/core/目錄

此目錄中包括許多設定用來控制

linux

核心與網路層的互動,即當網路有什麼動作時,核心做出什麼樣的相應反應。

在其中有以下的一些重要檔案:(1

)、message_burst

:設定每十秒寫入多少次請求警告;此設定可以用來防止

dos攻擊,預設設定為50;

(2)、message_cost

:設定每乙個警告的度量值,預設為

5,當用來防止

dos攻擊時設定為0;

(3)、netdev_max_backlog

:設定當個別介面接收包的速度快於核心處理速度時允許的最大的包序列,預設為

300;(4

)、optmem_max:

設定每個

socket

的最大補助快取大小;(5

)、rmem_default

:設定接收

socket

的預設快取大小(位元組);(6

)、rmem_max

:設定接收

socket

的最大快取大小(位元組);(7

)、wmem_default:

設定傳送的

socket

預設快取大小(位元組);(8

)、wmem_max:

設定傳送的

socket

最大快取大小(位元組)。

2.2.2

/proc/sys/net/ipv4/目錄

此目錄中的內容用來新增網路設定,在其中的許多設定,可以用來阻止對系統的攻擊,或用來設定系統的路由功能。

其中有以下的這些重要的檔案:(1

)、icmp_destunreach_rate

、icmp_echoreply_rate

、icmp_paramprob_rate

、icmp_timeexeed_rate

:設定傳送和回應的最大

icmp

包的速率,最好不要為0;

(2)、icmp_echo_ignore_all

和icmp_echo_ignore_broadcasts

:設定核心不應答

icmp echo

包,或指定的廣播,值為

0是允許回應,值為

1是禁止;(3

)、ip_default_ttl

:設定ip

包的預設生存時間(

ttl),增加它的值能減少系統開銷;(4

)、ip_forward

:設定介面是否可以**包,預設為

0,設定為

1時允許網路進行包**;(5

)、ip_local_port_range

:當本地需要埠時指定

tcp或

udp埠範圍。第一數為低端口,第二個數為高階口;(6

)、tcp_syn_retries:

提供限制在建立連線時重新傳送回應的

syn包的次數;(7

)、tcp_retries1

:設定回應連入重送的次數,預設為3;

(8)、tcp_retries2:

設定允許重送的

tcp包的次數,預設為15。

2.2.3設定的方法 

用/sbin/sysctl和echo命令,具體如下:

/sbin/sysctl -w net.ipv4.ip_forward="1" 

echo 1 > /proc/sys/net/ipv4/ip_forward

Linux下proc檔案系統詳解 proc

proc檔案系統是乙個偽檔案系統,它只存在記憶體當中,而不占用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。使用者和應用程式可以通過proc得到系統的資訊,並可以改變核心的某些引數。這裡將介紹如何從 proc檔案系統中獲取與防火牆相關的一些效能引數,以及如何通過 proc檔案系統修改...

嵌入式設計實驗二 模組引數及Proc檔案系統

2.建立裝置檔案 裝置進入點 3.插入核心模組 載入裝置驅動程式 4.互動proc 五 心得體會與建議 掌握簡單字元裝置驅動程式中模組引數及proc檔案系統的編寫方法。學習利用模組引數進行驅動程式引數傳遞,學習利用proc檔案系統進行資料讀寫。ubuntu 12.04 核心3.2.14 寫乙個簡單的...

Linux的proc檔案系統

proc 為乙個核心資料結構介面,使用者空間和核心空間可以通過該介面通訊,與普通檔案不同的是,這些虛擬檔案的內容都是動態建立的。proc 檔案系統是乙個偽檔案系統,它只存在記憶體當中,而不占用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。使用者和應用程式 可以通過 proc 得到系統...