eth0000
❶ tcpmp是什麼意思.干什麼用的.哪裡有詳細的資料,
TCPDUMP簡介
在傳統的網路分析和測試技術中,嗅探器(sniffer)是最常見,也是最重要的技術之一。sniffer工具首先是為網路管理員和網路程序員進行網路分析而設計的。對於網路管理人員來說,使用嗅探器可以隨時掌握網路的實際情況,在網路性能急劇下降的時候,可以通過sniffer工具來分析原因,找出造成網路阻塞的來源。對於網路程序員來說,通過sniffer工具來調試程序。
用過windows平台上的sniffer工具(例如,netxray和sniffer pro軟體)的朋友可能都知道,在共享式的區域網中,採用sniffer工具簡直可以對網路中的所有流量一覽無余!Sniffer工具實際上就是一個網路上的抓包工具,同時還可以對抓到的包進行分析。由於在共享式的網路中,信息包是會廣播到網路中所有主機的網路介面,只不過在沒有使用sniffer工具之前,主機的網路設備會判斷該信息包是否應該接收,這樣它就會拋棄不應該接收的信息包,sniffer工具卻使主機的網路設備接收所有到達的信息包,這樣就達到了網路監聽的效果。
Linux作為網路伺服器,特別是作為路由器和網關時,數據的採集和分析是必不可少的。所以,今天我們就來看看Linux中強大的網路數據採集分析工具——TcpDump。
用簡單的話來定義tcpmp,就是:mp the traffice on a network,根據使用者的定義對網路上的數據包進行截獲的包分析工具。
作為互聯網上經典的的系統管理員必備工具,tcpmp以其強大的功能,靈活的截取策略,成為每個高級的系統管理員分析網路,排查問題等所必備的東東之一。
顧名思義,TcpDump可以將網路中傳送的數據包的「頭」完全截獲下來提供分析。它支持針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。
tcpmp提供了源代碼,公開了介面,因此具備很強的可擴展性,對於網路維護和入侵者都是非常有用的工具。tcpmp存在於基本的FreeBSD系統中,由於它需要將網路界面設置為混雜模式,普通用戶不能正常執行,但具備root許可權的用戶可以直接執行它來獲取網路上的信息。因此系統中存在網路分析工具主要不是對本機安全的威脅,而是對網路上的其他計算機的安全存在威脅。
普通情況下,直接啟動tcpmp將監視第一個網路界面上所有流過的數據包。
-----------------------
bash-2.02# tcpmp
tcpmp: listening on eth0
11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50
11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43
0000 0000 0080 0000 1007 cf08 0900 0000
0e80 0000 902b 4695 0980 8701 0014 0002
000f 0000 902b 4695 0008 00
11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97
ffff 0060 0004 ffff ffff ffff ffff ffff
0452 ffff ffff 0000 e85b 6d85 4008 0002
0640 4d41 5354 4552 5f57 4542 0000 0000
0000 00
^C
------------------------
首先我們注意一下,從上面的輸出結果上可以看出來,基本上tcpmp總的的輸出格式為:系統時間 來源主機.埠 > 目標主機.埠 數據包參數
TcpDump的參數化支持
tcpmp支持相當多的不同參數,如使用-i參數指定tcpmp監聽的網路界面,這在計算機具有多個網路界面時非常有用,使用-c參數指定要監聽的數據包數量,使用-w參數指定將監聽到的數據包寫入文件中保存,等等。
然而更復雜的tcpmp參數是用於過濾目的,這是因為網路中流量很大,如果不加分辨將所有的數據包都截留下來,數據量太大,反而不容易發現需要的數據包。使用這些參數定義的過濾規則可以截留特定的數據包,以縮小目標,才能更好的分析網路中存在的問題。tcpmp使用參數指定要監視數據包的類型、地址、埠等,根據具體的網路問題,充分利用這些過濾規則就能達到迅速定位故障的目的。請使用man tcpmp查看這些過濾規則的具體用法。
顯然為了安全起見,不用作網路管理用途的計算機上不應該運行這一類的網路分析軟體,為了屏蔽它們,可以屏蔽內核中的bpfilter偽設備。一般情況下網路硬體和TCP/IP堆棧不支持接收或發送與本計算機無關的數據包,為了接收這些數據包,就必須使用網卡的混雜模式,並繞過標準的TCP/IP堆棧才行。在FreeBSD下,這就需要內核支持偽設備bpfilter。因此,在內核中取消bpfilter支持,就能屏蔽tcpmp之類的網路分析工具。
並且當網卡被設置為混雜模式時,系統會在控制台和日誌文件中留下記錄,提醒管理員留意這台系統是否被用作攻擊同網路的其他計算機的跳板。
May 15 16:27:20 host1 /kernel: fxp0: promiscuous mode enabled
雖然網路分析工具能將網路中傳送的數據記錄下來,但是網路中的數據流量相當大,如何對這些數據進行分析、分類統計、發現並報告錯誤卻是更關鍵的問題。網路中的數據包屬於不同的協議,而不同協議數據包的格式也不同。因此對捕獲的數據進行解碼,將包中的信息盡可能的展示出來,對於協議分析工具來講更為重要。昂貴的商業分析工具的優勢就在於它們能支持很多種類的應用層協議,而不僅僅只支持tcp、udp等低層協議。
從上面tcpmp的輸出可以看出,tcpmp對截獲的數據並沒有進行徹底解碼,數據包內的大部分內容是使用十六進制的形式直接列印輸出的。顯然這不利於分析網路故障,通常的解決辦法是先使用帶-w參數的tcpmp 截獲數據並保存到文件中,然後再使用其他程序進行解碼分析。當然也應該定義過濾規則,以避免捕獲的數據包填滿整個硬碟。
TCP功能
數據過濾
不帶任何參數的TcpDump將搜索系統中所有的網路介面,並顯示它截獲的所有數據,這些數據對我們不一定全都需要,而且數據太多不利於分析。所以,我們應當先想好需要哪些數據,TcpDump提供以下參數供我們選擇數據:
-b 在數據-鏈路層上選擇協議,包括ip、arp、rarp、ipx都是這一層的。
例如:tcpmp -b arp 將只顯示網路中的arp即地址轉換協議信息。
-i 選擇過濾的網路介面,如果是作為路由器至少有兩個網路介面,通過這個選項,就可以只過濾指定的介面上通過的數據。例如:
tcpmp -i eth0 只顯示通過eth0介面上的所有報頭。
src、dst、port、host、net、ether、gateway這幾個選項又分別包含src、dst 、port、host、net、ehost等附加選項。他們用來分辨數據包的來源和去向,src host 192.168.0.1指定源主機IP地址是192.168.0.1,dst net 192.168.0.0/24指定目標是網路192.168.0.0。以此類推,host是與其指定主機相關無論它是源還是目的,net是與其指定網路相關的,ether後面跟的不是IP地址而是物理地址,而gateway則用於網關主機。可能有點復雜,看下面例子就知道了:
tcpmp src host 192.168.0.1 and dst net 192.168.0.0/24
過濾的是源主機為192.168.0.1與目的網路為192.168.0.0的報頭。
tcpmp ether src 00:50:04:BA:9B and dst……
過濾源主機物理地址為XXX的報頭(為什麼ether src後面沒有host或者net?物理地址當然不可能有網路嘍)。
Tcpmp src host 192.168.0.1 and dst port not telnet
過濾源主機192.168.0.1和目的埠不是telnet的報頭。
ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型。
例如:
tcpmp ip src……
只過濾數據-鏈路層上的IP報頭。
tcpmp udp and src host 192.168.0.1
只過濾源主機192.168.0.1的所有udp報頭。
數據顯示/輸入輸出
TcpDump提供了足夠的參數來讓我們選擇如何處理得到的數據,如下所示:
-l 可以將數據重定向。
如tcpmp -l >tcpcap.txt將得到的數據存入tcpcap.txt文件中。
-n 不進行IP地址到主機名的轉換。
如果不使用這一項,當系統中存在某一主機的主機名時,TcpDump會把IP地址轉換為主機名顯示,就像這樣:eth0 < ntc9.1165> router.domain.net.telnet,使用-n後變成了:eth0 < 192.168.0.9.1165 > 192.168.0.1.telnet。
-nn 不進行埠名稱的轉換。
上面這條信息使用-nn後就變成了:eth0 < ntc9.1165 > router.domain.net.23。
-N 不列印出默認的域名。
還是這條信息-N 後就是:eth0 < ntc9.1165 > router.telnet。
-O 不進行匹配代碼的優化。
-t 不列印UNIX時間戳,也就是不顯示時間。
-tt 列印原始的、未格式化過的時間。
-v 詳細的輸出,也就比普通的多了個TTL和服務類型。
TCPDUMP的安裝
在linux下tcpmp的安裝十分簡單,一般由兩種安裝方式。一種是以rpm包的形式來進行安裝。另外一種是以源程序的形式安裝。
1. rpm包的形式安裝
#rpm -ivh tcpmp-3_4a5.rpm
這樣tcpmp就順利地安裝到你的linux系統中。怎麼樣,很簡單吧。
2. 源程序的安裝
#tar xvfz tcpmp-3_4a5.tar.Z
rpm的包可以使用如下命令安裝:
#rpm -ivh tcpmp-3_4a5.src.rpm
這樣就把tcpmp的源代碼解壓到/usr/src/redhat/SOURCES目錄下.
第二步 做好編譯源程序前的准備活動
在編譯源程序之前,最好已經確定庫文件libpcap已經安裝完畢,這個庫文件是tcpmp軟體所需的庫文件 。同樣,你同時還要有一個標準的c語言編譯器。在linux下標準的c 語言編譯器一般是gcc。 在tcpmp的源程序目錄中。有一個文件是Makefile.in,configure命令就是從Makefile.in文件中自動產生Makefile文件。在Makefile.in文件中,可以根據系統的配置來修改BINDEST 和 MANDEST 這兩個宏定義,預設值是
BINDEST = @sbindir@
MANDEST = @mandir@
第一個宏值表明安裝tcpmp的二進制文件的路徑名,第二個表明tcpmp的man 幫助頁的路徑名,你可以修改它們來滿足系統的需求。
第三步 編譯源程序
使用源程序目錄中的configure腳本,它從系統中讀出各種所需的屬性。並且根據Makefile.in文件自動生成Makefile文件,以便編譯使用.make 命令則根據Makefile文件中的規則編譯tcpmp的源程序。使用make install命令安裝編譯好的tcpmp的二進制文件。
總結一下就是:
# tar xvfz tcpmp-3_4a5.tar.Z
# vi Makefile.in
# . /configure
# make
# make install
關於tcpmp更詳細的信息,請查看Man tcpmp。
❷ ENS域名成「新寵」,下一個NFT熱潮
我曾經在文章中介紹過ENS。它是以太坊域名服務的全稱。簡單地說就是用戶可以申請一個ENS域名,然後把這個域名和自己使用的錢包地址掛鉤。這樣一來,在加密世界中但凡需要使用錢包地址的地方就可以用這個域名來替代地址。
一個ENS域名可以是字母組合,可以是數字組合,也可以是字母和數字的組合,它的後綴統一為「.eth」。
在使用中用方便記憶的字元替代一長串容易輸錯的地址會給用戶帶來極大的方便,並減少交易出錯的幾率。
大家如果經常逛推特,就會發現很多海外加密圈的大V都會把自己的ENS域名掛在自己的頭像旁邊。頭像是自己喜愛的頭像類項目,旁邊就是自己喜歡的域名。
這幾乎成了大V們的標配。
ENS發展歷程中最大的事件恐怕要算去年的代幣空投。在那次空投中,很多早期用戶都得到了價值不菲的代幣。
除此以外,ENS在業內一直都很低調,屬於那種穩打穩扎的項目,大家不會忘記它,但也不會對它特別興奮。
但近一個星期以來,網上突然颳起了一陣域名風暴,兩個網上組織「999Club」(999俱樂部)和「10KClub」(10K俱樂部)突然風靡起來。
這兩個俱樂部是什麼意思呢?
999Club是由持有3位純數字域名(比如111.eth、392.eth、420.eth等)的愛好者自發形成的一個組織。從000.eth到999.eth,這樣的域名總共有1000個,其中最大的就是999,所以這個俱樂部就被命名為999Club。
10KClub是指由持有4位純數字域名(比如8051.eth、2296.eth等)的愛好者自發形成的一個組織。從0000.eth到9999.eth,這樣的域名總共有10000個(10000通常在英語里簡稱10K),所以這個俱樂部就被命名為10KClub。
所以這兩類域名加起來總共只有11000個,在數量上可以描述為「稀有」。
這兩個組織形成後經常聯合在一起舉辦各種網上活動和宣傳,最主要的是宣傳3位純數字域名和4位純數字域名的珍惜性。
此外由於一些著名的頭像類項目比如無聊猿、加密朋克等都是10000個頭像,所以10K俱樂部認為用數字ENS一方面可以代表自己持有的NFT,另一方面也是用ENS表達身份的一種方式。
這段時間,這兩個俱樂部的會員們最喜歡在推特上問候和宣傳的話語就是:你的號碼是多少?我可不是問你的電話號碼。
他們用這種隱含、新潮的方式推廣3位和4位數字域名。
網上對這個風潮形成了極度反差的兩類意見。在反對者中不乏NFT領域的一些大V。下面我節選了網上的一系列對話,其中A是反對這種風潮的典型,B是支持這種風潮的典型。
A:我始終看不出用數字做域名有什麼用?
B:用數字做域名比用字母更好記並且更容易推廣。
A;用一個有意義的單詞作為域名不是更好記嗎?
B:並不是所有的國家都習慣用字母,比如在中國,使用純數字做互聯網域名的例子就很多。
A:你們問「你的號碼是多少?」有意義嗎?我為什麼要記那麼多號碼?在現實生活中,我即便打電話時都會給電話號碼標上人名,打電話的時候直接點那個人的名字就好了。我幾乎不用數字,更記不住那麼多數字。
B:你在用是不是方便記憶來衡量它有沒有價值?
A:如果想打造稀有性,我們可以有很多種敘事方法,為什麼單單捧數字?
B:因為太巧了,NFT領域的頭部項目幾乎都和10000有關,都是10000個。這形成了一種潛移默化的文化,我們現在就用數字把這種文化彰顯出來。另外我們可以有10000個加密朋克,還有10000個無聊猿、後來又有10000個Azuki。你看,10000個頭像類項目在不斷涌現,我沒有朋克,可以有無聊猿,沒有無聊猿還會有Azuki,所以我們還會有下一個10000的機會。但在ENS,10000以內的數字域名只有11000個。
A:花比普通域名貴不少的錢買一個3位、4位數字的ENS你真的覺得值得嗎?這就是個標識而已。
B:別忘了,以前你哪怕花20美元買個小圖片,你都不敢和別人說。但今天如果你花20萬美元買個稀有的無聊猿,你會驕傲得不得了。你忘了你自己曾經的經歷嗎?
這段對話在我看來還是比較精彩的。
但是這兩類域名到底會不會真的形成一種風潮,我認為還有很大很大的變數,其中最重要的還是要看這兩個俱樂部的組織者們能不能把這種社區影響力擴大到線下,擴大到普通民眾,並像無聊猿那樣從普通民眾進入到傳統精英圈,形成一種自下而上的共識。
如果能做到這樣,這個風潮或許能持續,但如果不行,這股風潮恐怕也是曇花一現。
❸ linux 重啟網卡 Device eth0 has different MAC address than expected, ignoring 如何解決
這個提示是指網口的mac地址已經變化,但是設備名稱沒有變化,導致設備名稱和mac地址無法匹配,linux無法掛載該網口。換種說法就是該網口的配置文件里的mac地址和該網口實際的mac地址不符合。
這種情況一般發生在虛擬機遷移,或者更換網卡的時候,解決方案如下:
1:記錄網口的實際地址,執行ifconfig eth0
其中HWaddr後面就是網口實際的mac地址
2:更改配置文件中的mac地址
打開eth0的網口配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0
(該地址可能隨著不同的操作系統有所不同)
在文件中尋找 HWADDR= 這行,如果沒有就新加一行。把這行後面的值改成第一步看到的mac地址值,例如 HWADDR="00:0C:29:2D:2D:CF",然後保存退出
3:通過service network restart重啟網卡,或者通過ifup eth0啟動網卡(該命令會檢查配置文件)
❹ linux 雙網卡只能識別一個
怎麼感覺我答過這個問題。
你沒寫配置文件吧,在/etc/sysconfig/network-scripts/裡面,
要自己寫個配置文件,ifcfg-eth1具體怎麼配置,可參照ifcfg-eth0
或者網上查資料!
娃,你分好多啊!