當前位置:首頁 » 操作系統 » linux過濾

linux過濾

發布時間: 2022-01-25 07:52:02

linux中提供TCP/IP包過濾的軟體叫什麼

大家都知道網路是分層的,而這個分層就好比是一個企業里的組織結構一樣。在日常使用電腦過程中,人操作著電腦,人就好比是指揮電腦對網際網路操作的首席執行官。當我們打開Foxmail這個郵件軟體收取郵件時,Foxmail這個軟體就會調用TCP/IP參考模型中的應用層協議—POP協議。

應用層協議建立在網路層協議之上,是專門為用戶提供應用服務的,一般是可見的。如利用FTP(文件傳輸協議)傳輸一個文件請求一個和目標計算機的連接,在傳輸文件的過程中,用戶和遠程計算機交換的一部分是能看到的。而這時POP協議則會指揮下層的協議為它傳送數據伺服器,最後Foxmail通過一系列協議對話後成功將電子郵件保存到了Foxmail的收件箱里。TCP/IP參考模型是Internet的基礎。和OSI的7層協議比較,TCP/IP參考模型中沒有會話層和表示層。通常說的TCP/IP是一組協議的總稱,TCP/IP實際上是一個協議族(或協議包),包括100多個相互關聯的協議,其中IP(Internet Protocol,網際協議)是網路層最主要的協議;TCP(Transmission Control Protocol,傳輸控制協議)和UDP(User Datagram Protocol,用戶數據報協議)是傳輸層中最主要的協議。一般認為IP、TCP、UDP是最根本的三種協議,是其它協議的基礎。

相信讀者了解TCP/IP框架之後,一定會對各層產生一定的興趣,不過我們對於這個模型的理解也是一步步來的。在這里,我們首先只要知道相應的軟體會調用應用層的相應協議,比如Foxmail會調用POP協議,而IE瀏覽器則會調用DNS協議先將網址解析成IP地址。在實際收取郵件的過程中,POP這個應用層的協議會指揮TCP協議,利用IP協議將一封大郵件拆分成若干個數據包在Internet上傳送。

為了便於讀者理解這個過程,筆者舉個例子來說明一下,比如你要和一個人遠距離通話,因為距離實在太遠了,你只好將你所表達的一大段分成一個個字大聲喊,而對方把每個聽到的字寫在紙上,當寫下來後就大喊一聲告訴你它收到了,這樣就克服了距離遠聽不清的弱點,這種一問一答的反饋機制就好比是TCP協議,POP伺服器一般使用的是TCP的110號埠。

POP工作原理簡介

下面就讓我們一起來看看電子郵件軟體收取電子郵件的過程,一般我們在電子郵件軟體的賬號屬性上設置一個POP伺服器的URL(比如pop.163.com),以及郵箱的賬號和密碼。這個在收信過程中都是用得到的。當我們按下電子郵件軟體中的收取鍵後,電子郵件軟體首先會調用DNS協議對POP伺服器進行解析IP地址,當IP地址被解析出來後,郵件程序便開始使用TCP協議連接郵件伺服器的110埠,因為POP伺服器是比較忙的,所以在這個過程中我們相對要等比較長的時間。當郵件程序成功地連上POP伺服器後,其先會使用USER命令將郵箱的賬號傳給POP伺服器,然後再使用PASS命令將郵箱的賬號傳給伺服器,當完成這一認證過程後,郵件程序使用STAT命令請求伺服器返回郵箱的統計資料,比如郵件總數和郵件大小等,然後LIST便會列出伺服器里郵件數量。然後郵件程序就會使用RETR命令接收郵件,接收一封後便使用DELE命令將郵件伺服器中的郵件置為刪除狀態。當使用QUIT時,郵件伺服器便會將置為刪除標志的郵件給刪了。通俗地講,郵件程序從伺服器接收郵件,其實就是一個對話過程,POP協議就是用於電子郵件的一門語言。

Ⅱ 如何通過linux命令根據某一列值唯一來過濾

你可以這樣做:
(1)為Server的那些使用者建立單獨的賬戶,例如:user01、user02....等等(可以給每個人建立一個單獨的賬戶。當然,為了使系統中的賬戶不至於太多而導致難以管理,也可以按照他們所在的部門、項目組(或工作組)、或是其它分類方式去建立賬戶)。
(2)對每個賬戶下的$HOME/.profile文件或者是$HOME/.cshrc文件(視不同用戶的SHELL來決定,例如:bsh和sh就是.profile,csh就是.cshrc),用
chown root:root ... (例如: chown root:root .cshrc)
命令將它們改成root用戶及屬組所有,只有root用戶才可以更改它們。
(3)在每個用戶的$HOME/.profile或是$HOME/.cshrc等shell環境配置文件中,將你認為是危險的命令做以下的轉換:

alias 命令名='echo 管理員不運行執行該命令'

例如: alias format='echo 管理員不運行執行該命令'

這樣這些用戶就無法執行你限定的命令,執行之後都顯示「管理員不運行執行該命令」。

如果覺得改.profile或是.cshrc文件不保險,還可以在每個用戶的$HOME下建立.login文件,也用上述的方法將它改成root用戶屬組的,在裡面加入

alias 命令名='echo 管理員不運行執行該命令'

效果更好。

----看到了你的問題追加。我覺得要是大家都只能使用root賬戶,那麼這個系統的規劃是否合理?假如一定都要使用root賬戶的話,對於每個用戶在鍵入命令的過程中,你很難去捕獲他們都正在敲入什麼命令。只有等他們在命令行上都輸入完了,回車確認之後才可能去發現他們執行的進程。假如真有這樣的一個監控程序在你的系統中,就算是監控到了,那麼那些進程已經開始運行了,對很多人來說已經是無法收拾了,只有及時的殺掉那些進程了。建議你把敏感的命令給rename了算了,例如mv format frmt

Ⅲ linux grep查詢結果再過濾

grep查詢過濾需要使用管道命令|。

舉例說明:

1、在進程表中查找特定進程的命令通常如下:

Ⅳ 在linux上tshark怎麼過濾

抓Mysql包命令如下:
tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
tshark -s 512 -i em1 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
過濾HTTP請求:
# tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -R 'http.request.method == "GET" || http.request.method == "HEAD"'
輸出:
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
0.000000 123.126.68.27 -> 173.255.196.50 HTTP GET /grep.html HTTP/1.1
12.066470 123.126.68.27 -> 173.255.196.50 HTTP GET /pro_lang.html HTTP/1.1
-s 512 :只抓取前512個位元組數據
-i eth0 :捕獲eth0網卡
-n :禁止網路對象名稱解析
-f 'tcp dst port 3306' :只捕捉協議為tcp,目的埠為3306的數據包
-R 'mysql.query' :過濾出mysql.query
-T fields -e mysql.query :列印mysql查詢語句

tshark使用-f來指定捕捉包過濾規則,規則與tcpmp一樣,可以通過命令man pcap-filter來查得。
tshark使用-R來過濾已捕捉到的包,與界面板wireshark的左上角Filter一致。

Ⅳ linux下按時間過濾文件如何設置

find dir -mtime +10 -a -mtime -20
找出最後寫入時間為10天-20天前的文件

你這樣算算就好了
-mtime是天
-mmin是分鍾

Ⅵ linux中 grep 如何過濾含有$符號的字元串

Ⅶ 什麼過濾操作在Linux中如何實現

過濾操作就是指在一大堆文本信息中篩選出你關心的數據。
一般用 ls + 通配符,或 grep, sed 或 awk 這些支持正則表達式的工具都可以實現過濾操作。
比如:
ls *.jpg #過濾出當前目錄下以jpg為後綴的所有文件,這是通配符用法
grep "abc" file.txt #過濾出file.txt中包含abc的行,這里沒有使用正則表達式
ls | grep "[a-z][0-9].csv" #從ls的結果中過濾出文件名格式為一個字母加一位數字並以.csv為後綴的文件名,這里用了正則表達式(字母集合[a-z]與數字集合[0-9])

Ⅷ linux使用find命令如何過濾文件夾

先用find 查找的時候,制定不查找「.」開頭的文件夾

find /your/dir -type d ! -name ".*"

Ⅸ 如何通過linux命令根據某一列值唯一來過濾數據

你可以這樣做:
(1)為Server的那些使用者建立單獨的賬戶,例如:user01、user02....等等(可以給每個人建立一個單獨的賬戶。當然,為了使系統中的賬戶不至於太多而導致難以管理,也可以按照他們所在的部門、項目組(或工作組)、或是其它分類方式去建立賬戶)。
(2)對每個賬戶下的$HOME/.profile文件或者是$HOME/.cshrc文件(視不同用戶的SHELL來決定,例如:bsh和sh就是.profile,csh就是.cshrc),用
chown root:root ... (例如: chown root:root .cshrc)
命令將它們改成root用戶及屬組所有,只有root用戶才可以更改它們。
(3)在每個用戶的$HOME/.profile或是$HOME/.cshrc等shell環境配置文件中,將你認為是危險的命令做以下的轉換:

alias 命令名='echo 管理員不運行執行該命令'

例如: alias format='echo 管理員不運行執行該命令'

這樣這些用戶就無法執行你限定的命令,執行之後都顯示「管理員不運行執行該命令」。

如果覺得改.profile或是.cshrc文件不保險,還可以在每個用戶的$HOME下建立.login文件,也用上述的方法將它改成root用戶屬組的,在裡面加入

alias 命令名='echo 管理員不運行執行該命令'

效果更好。

----看到了你的問題追加。我覺得要是大家都只能使用root賬戶,那麼這個系統的規劃是否合理?假如一定都要使用root賬戶的話,對於每個用戶在鍵入命令的過程中,你很難去捕獲他們都正在敲入什麼命令。只有等他們在命令行上都輸入完了,回車確認之後才可能去發現他們執行的進程。假如真有這樣的一個監控程序在你的系統中,就算是監控到了,那麼那些進程已經開始運行了,對很多人來說已經是無法收拾了,只有及時的殺掉那些進程了。建議你把敏感的命令給rename了算了,例如mv format frmt

----呵呵,你也夠執著的。既然一定要寫個程序,那我就說說大概的思路吧!具體的程序代碼你可以自己去寫,這樣也有些成就感。:)
不過我能保證,就算採用這樣的做法也不會取得什麼好的效果,尤其是大家都使用root賬戶。我用unix類操作系統近十年,聽我一句勸告不會有什麼害處啊!

程序思路:
(1)定義你的敏感命令列表(可以賦值給一個字元串數組)。
(2)獲取你本人在系統中當前的tty編號,以及你自己的IP地址(你是從哪個IP地址發起的telnet?如果你本人使用Console,也需要如此)。
(3)按照你的敏感命令列表,循環檢測除了自己的tty及IP地址之外的,其它tty及IP地址發起的敏感命令進程,如果發現,立即予以kill -9。並向相應的tty發送警告信息。

注意:這個循環是無限循環;這個程序是一個守護進程(Daemon)。除非接到進程中止信號,否則它將一直運行。這樣做的缺點是,循環檢測並殺掉那些敏感進程的過程並不能確保實時性,在發現相應的進程時,那些進程可能已經運行了一小段時間,盡管這段時間非常非常的短,但是也可能已經產生了效力甚至是危害。不過,這也是沒辦法的事情了。誰要你非要這樣呢?

Ⅹ linux怎樣用grep過濾

你在配置文件里不可以用grep命令來過濾。grep只能在目錄文件上才能用。

熱點內容
電腦怎樣編程 發布:2024-10-18 12:06:55 瀏覽:528
圖的鄰接表存儲及遍歷 發布:2024-10-18 12:02:31 瀏覽:495
如何查詢電腦型號的配置 發布:2024-10-18 11:57:42 瀏覽:273
如何開張一個租賃伺服器 發布:2024-10-18 11:46:13 瀏覽:826
python解析json文件 發布:2024-10-18 11:29:34 瀏覽:311
編譯程序的生成程序 發布:2024-10-18 11:29:27 瀏覽:404
軌跡處理演算法 發布:2024-10-18 11:22:25 瀏覽:783
支付密碼怎麼破解 發布:2024-10-18 11:09:19 瀏覽:145
線性鏈表c語言 發布:2024-10-18 11:09:17 瀏覽:785
淘寶賣的腳本可靠嗎 發布:2024-10-18 10:54:04 瀏覽:120