新聞中心
隨著計算機(jī)網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)監(jiān)控工具早已成為企業(yè)日常運(yùn)維的必備工具之一。linux nmeter 網(wǎng)絡(luò)監(jiān)控工具作為一款輕量級的開源網(wǎng)絡(luò)監(jiān)控工具,其使用簡單、功能強(qiáng)大而備受歡迎。本文將深入探討 Linux nmeter 網(wǎng)絡(luò)監(jiān)控工具的原理、功能和應(yīng)用,幫助讀者更好地了解這一工具。

一、Linux nmeter 網(wǎng)絡(luò)監(jiān)控工具的基本原理
Nmeter 是一個輕量級的基于終端的網(wǎng)絡(luò)監(jiān)控工具。它可以監(jiān)測網(wǎng)絡(luò)流量、TCP/IP 連接數(shù)、伯克利數(shù)據(jù)報文指標(biāo)、網(wǎng)卡接口等,具有較好的可擴(kuò)展性。Nmeter 以基于終端的方式呈現(xiàn)監(jiān)控結(jié)果,讓用戶可以實時觀察網(wǎng)絡(luò)狀況,以便快速定位問題。Nmeter 可以監(jiān)控并顯示以下內(nèi)容:
1. 接口流量,即輸入和輸出的網(wǎng)絡(luò)數(shù)據(jù)量。
2. 流量速率,確保有一個可用的擴(kuò)展圖形。
3. 接口錯誤和帶寬利用率。
4. 計算和顯示網(wǎng)絡(luò)流量的統(tǒng)計圖表信息。
5. 顯示網(wǎng)絡(luò)流量的數(shù)據(jù)信息,包括傳輸?shù)膮f(xié)議和端口號。
6. 抓包和過濾器,篩選信息之前捕獲和監(jiān)視網(wǎng)絡(luò)流量。
Nmeter 是一款使用 C 語言編寫的工具,并且沒有依賴關(guān)系?;?LIBPCAP 庫,它可以使用系統(tǒng)的全局鎖來捕獲所有流過系統(tǒng)的數(shù)據(jù)包。
二、Linux nmeter 網(wǎng)絡(luò)監(jiān)控工具的特點
1. 方便使用
Nmeter 基于終端顯示結(jié)果,讓用戶可以實時觀察網(wǎng)絡(luò)狀況,以便快速定位問題。
2. 功能強(qiáng)大
Nmeter 可以監(jiān)控并顯示網(wǎng)絡(luò)流量、TCP/IP 連接數(shù)、伯克利數(shù)據(jù)報文指標(biāo)、網(wǎng)卡接口等多種數(shù)據(jù),具有較好的可擴(kuò)展性。
3. 開源免費(fèi)
Nmeter 是一個免費(fèi)的監(jiān)控工具,并且其源代碼是完全開放的。因此,用戶可以根據(jù)自己的需要對其進(jìn)行修改和定制。
三、安裝和配置 Linux nmeter 網(wǎng)絡(luò)監(jiān)控工具
1. 安裝 Nmeter
Nmeter 的安裝非常簡單。用戶只需要通過以下命令安裝:
# apt-get install nmeter
2. 配置 Nmeter
Nmeter 的配置文件位于 /etc/nmeter 目錄下。該目錄下包含兩個配置文件:
1)nmeter.conf,是 Nmeter 的主配置文件。用戶可以修改參數(shù)、自定義主題等。
2)filters.conf,是 Nmeter 的過濾器配置文件。用戶可以根據(jù)自己的需要添加不同的過濾器,以便更好地監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)。
四、使用 Linux nmeter 網(wǎng)絡(luò)監(jiān)控工具
Nmeter 的使用非常簡單。用戶只要在終端窗口中執(zhí)行 nmeter 命令,即可開始監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)。
# nmeter
此時,Nmeter 會在終端窗口中顯示一個實時的監(jiān)控界面。界面中包含了一些基本的監(jiān)控信息,如網(wǎng)卡接口名稱、網(wǎng)速、星號數(shù)量等。
如果需要退出 Nmeter,只需要按下 “q” 鍵即可。
五、使用案例:監(jiān)控網(wǎng)絡(luò)連接數(shù)
Nmeter 可以用來監(jiān)控網(wǎng)絡(luò)連接數(shù)。用戶只需要執(zhí)行以下命令即可:
# nmeter -s tcp
此時,Nmeter 會開始監(jiān)控系統(tǒng)中所有的 TCP 連接。Nmeter 的界面將顯示連入和連出的連接數(shù),以及每個連接的信息,如地址、端口、數(shù)據(jù)包數(shù)量等。
六、
通過本文,我們了解了 Linux nmeter 網(wǎng)絡(luò)監(jiān)控工具的基本原理、特點、安裝和配置方法。Nmeter 以其方便使用、功能強(qiáng)大和開源免費(fèi)的特點備受歡迎。同時,我們還以一個案例來展示了如何使用 Nmeter 來監(jiān)控網(wǎng)絡(luò)連接數(shù)。如果您是一名 Linux 系統(tǒng)管理員或網(wǎng)絡(luò)工程師,我相信 Nmeter 這個工具會為您的工作帶來極大的幫助。
相關(guān)問題拓展閱讀:
- 怎么在LINUX上打開控制臺?
- 如何在Linux用戶和內(nèi)核空間中進(jìn)行動態(tài)跟蹤
怎么在LINUX上打開控制臺?
桌面控制臺和字符控制臺:
“ctrl+alt+F1”到“F6”組合鍵的任何一蔽培個,即可進(jìn)去自負(fù)控制臺界面。相反按““ctrl+alt+F7”
控制臺終端(/dev/ttyn)和虛擬終端(/dev/pts/n) —遠(yuǎn)程終端
w: 顯示登陸終端信息
為 Linux 或 Solaris 啟用 Java 控制臺
打開一缺桐個終端窗口。
轉(zhuǎn)到 Java 安裝目錄。在此示例中,Java 安裝在 /usr/java/ 目錄中。
cd /usr/java/jre1.8.0_73/bin
(將路徑更改為您安裝 Java 的位置)
打開 Java 控制面板。輸入:
./ControlPanel
在 Java 控制面板中單擊高級選項卡。
在“Java 控制臺”部分下選擇顯示控制臺。
單擊應(yīng)用按鈕。更多Linux相關(guān)知識可參考書籍《Linux就該宏扮唯這么學(xué)》。
在很多桌面系統(tǒng)下,可以打開終端。
Ubuntu(Unity)下,按鍵(Ubuntu下稱為Super),打開搜索框,輸入Terminal即可。
Ubuntu(Gnome)下神卜,左上角的菜單里有。
另外,Linux有純字符界面游茄穗,按~,總共有6個純字符的界面。
有什么不懂的問我哈,發(fā)揮納巖共享精神。。。歡迎采納~
之一種方法:按“Ctrl+Alt+T”即可打開終端窗口
第二種方法,按“Ctrl+Alt+F1-F6”均可進(jìn)入終端。
第三種,搜索終端并進(jìn)入。
注意事項
如果采用了F1-F6的方法,返回圖形界面只要按“Ctrl+Alt+F7即可”
Linux是擾則一種自由和
開放源碼
的類Unix操作系統(tǒng),存在著許多不同的Linux版本,但它們都使用了
Linux內(nèi)核
。
Linux可安裝在各種計算機(jī)硬件設(shè)備中,比如手機(jī)、
平板電腦
、路由器、視頻游戲控制臺、臺式計算機(jī)、大型機(jī)和
超級計算機(jī)
。
Linux是一個領(lǐng)先的操作系統(tǒng)絕李讓,世界上運(yùn)算最快的10臺超級計算機(jī)運(yùn)行的都是
Linux操作系統(tǒng)
。嚴(yán)格來講,Linux這個詞本身只表示Linux內(nèi)核,但實際上人們已經(jīng)習(xí)慣了用Linux來形容整個基于Linux內(nèi)核,并并局且使用GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。
ctrl+alt+t ubantu下
桌面右鍵
如何在Linux用戶和內(nèi)核空間中進(jìn)行動態(tài)跟蹤
你不記得如何在代碼擾弊中插入探針點了嗎? 沒問題!了解如何使用uprobe和kprobe來動態(tài)插入它們吧。 基本上,程序員需要在源代碼匯編指令的不同位置插入動態(tài)探針點。
探針點
探針點是一個調(diào)試語句,有助于探索軟件的執(zhí)行特性(即,執(zhí)行流程以及當(dāng)探針語句執(zhí)行時軟件數(shù)據(jù)結(jié)構(gòu)的狀態(tài))。printk是探針語句的最簡單形式,也是黑客用于內(nèi)核攻擊的基礎(chǔ)工具之一。
因為它需要重新編譯源代碼,所以printk插入是靜態(tài)的探測方法。內(nèi)核代碼中重要位置上還有許多其他靜態(tài)跟蹤點可以動態(tài)啟用或禁用。 Linux內(nèi)核有一些框架可以幫助程序員探測內(nèi)核或用戶空間應(yīng)用程序,而無需重新編譯源代碼。Kprobe是在內(nèi)核代碼中插入探針點的動態(tài)方法之一,并且uprobe在用戶應(yīng)用程序中執(zhí)行此操作。
使用uprobe跟蹤用戶空間
可以通過使用thesysfs接口或perf工具將uprobe跟蹤點插入用戶空間代碼。
使用sysfs接口插入uprobe
考慮以下簡單測試代碼,沒有打印語句,我們想在某個指令中插入探針:
#include \n#include \n#include
編譯代碼并找到要探測的指令地址:
# gcc -o test test.\n# objdump -d test
假設(shè)我們在ARM64平臺上有以下目標(biāo)代碼:
20 :\t\tadr\tx0,
并且我們想在偏移量0x620和0x644之間插入探針。執(zhí)行以下命令:
# echo ‘p:func_2_entry test:0x620’ > /sys/kernel/debug/tracing/uprobe_event\n# echo ‘p:func_1_entry test:0x644’ >> /sys/kernel/debug/tracing/uprobe_event\n# echo 1 > /sys/kernel/debug/tracing/events/uprobes/enable# ./test&
在上面的之一個和第二個echo語句中,p告訴我們這是一個簡單的測試。(探測器可以是簡單的或返回的。)func_n_entry是我們在跟蹤輸出中看到的名稱,名稱是可選字段,如果沒有提供,我們應(yīng)該期待像p_test_0x644這樣的名字。test 是我們要插入探針的可執(zhí)行二進(jìn)制文件野中。如果test 不在當(dāng)前目錄中,則需要指定path_to_test / test。
0x620或0x640是從程序啟動開始的指令偏移量。請注意>>在第二個echo語句中,因為我們要再添加一個探針。所以,當(dāng)我們在前兩個命令中插入探針點之后,我們啟用uprobe跟蹤,當(dāng)我們寫入events/ uprobes / enable時,它將啟用所有的uprobe事件。程序員還可以通過寫入在該事件目錄中創(chuàng)建的特定事件文件來啟用單個事件。一旦探針點入和啟用,每當(dāng)執(zhí)行探測指令時,我們可以看到一個跟蹤條目。
讀取跟蹤文件以查看輸出:
# cat /sys/kernel/debug/tracing/trac\n# tracer: no\n\n# entries-in-buffer/entries-written: 8/8\n#P:\n\n# _—–=> irqs-of\n# / _—-=> need-resche\n# | / _—=> hardirq/softir\n# || / _–=> preempt-dept\n# ||| / dela\n# TASK-PID CP\n# |||| TIMESTAMP FUNCTION# | | | |||| | |
我們可以看到哪個CPU完成了什么任務(wù),什么時候執(zhí)行了探測指令。
返回探針也可以插入指令。當(dāng)返回該指令的函數(shù)時,將記錄一個條目:
# echo 0 > /sys/kernel/debug/tracing/events/uprobes/enabl\n# echo ‘r:func_2_exit test:0x620’ >> /sys/kernel/debug/頌李山tracing/uprobe_event\n# echo ‘r:func_1_exit test:0x644’ >> /sys/kernel/debug/tracing/uprobe_event\n# echo 1 > /sys/kernel/debug/tracing/events/uprobes/enable
這里我們使用r而不是p,所有其他參數(shù)是相同的。請注意,如果要插入新的探測點,需要禁用uprobe事件:
test-3009 …. 4813.852674: func_1_entry: (0x400644)
上面的日志表明,func_1返回到地址0x4006b0,時間戳為4813.852691。
# echo 0 > /sys/kernel/debug/tracing/events/uprobes/enabl\n# echo ‘p:func_2_entry test:0x630’ > /sys/kernel/debug/tracing/uprobe_events count=%x\n# echo 1 > /sys/kernel/debug/tracing/events/uprobes/enabl\n# echo > /sys/kernel/debug/tracing/trace# ./test&
當(dāng)執(zhí)行偏移量0x630的指令時,將打印ARM64 x1寄存器的值作為count =。
輸出如下所示:
test-3095 …. 7918.629728: func_2_entry: (0x400630) count=0x1
使用perf插入uprobe
找到需要插入探針的指令或功能的偏移量很麻煩,而且需要知道分配給局部變量的CPU寄存器的名稱更為復(fù)雜。 perf是一個有用的工具,用于幫助引導(dǎo)探針插入源代碼中。
除了perf,還有一些其他工具,如SystemTap,DTrace和LTTng,可用于內(nèi)核和用戶空間跟蹤;然而,perf與內(nèi)核配合完美,所以它受到內(nèi)核程序員的青睞。
# gcc -g -o test test.c# perf probe -x ./test func_2_entry=func_\n# perf probe -x ./test func_2_exit=func_2%retur\n# perf probe -x ./test test_15=test.c:1\n# perf probe -x ./test test_25=test.c:25 numbe\n# perf record -e probe_test:func_2_entry -e\nprobe_test:func_2_exit -e probe_test:test_15\n-e probe_test:test_25 ./test
如上所示,程序員可以將探針點直接插入函數(shù)start和return,源文件的特定行號等??梢垣@取打印的局部變量,并擁有許多其他選項,例如調(diào)用函數(shù)的所有實例。 perf探針用于創(chuàng)建探針點事件,那么在執(zhí)行./testexecutable時,可以使用perf記錄來探測這些事件。當(dāng)創(chuàng)建一個perf探測點時,可以使用其他錄音選項,例如perf stat,可以擁有許多后期分析選項,如perf腳本或perf報告。
使用perf腳本,上面的例子輸出如下:
# perf script
使用kprobe跟蹤內(nèi)核空間
與uprobe一樣,可以使用sysfs接口或perf工具將kprobe跟蹤點插入到內(nèi)核代碼中。
使用sysfs接口插入kprobe
程序員可以在/proc/kallsyms中的大多數(shù)符號中插入kprobe;其他符號已被列入內(nèi)核的黑名單。還有一些與kprobe插入不兼容的符號,比如kprobe_events文件中的kprobe插入將導(dǎo)致寫入錯誤。 也可以在符號基礎(chǔ)的某個偏移處插入探針,像uprobe一樣,可以使用kretprobe跟蹤函數(shù)的返回,局部變量的值也可以打印在跟蹤輸出中。
以下是如何做:
; disable all events, just to insure that we see only kprobe output in trace\n# echo 0 > /sys/kernel/debug/tracing/events/enable; disable kprobe events until probe points are inseted\n# echo 0 > /sys/kernel/debug/tracing/events/kprobes/enable; clear out all the events from kprobe_events\n to insure that we see output for; only those for which we have enabled
irqs-of\n# / _—-=> need-resche\n# | / _—=> hardirq/softirq#\n|| / _–=> preempt-depth#\n ||| / delay# TASK-PID CPU#\n |||| TIMESTAMP FUNCTION#\n | | | |||| | |
使用perf插入kprobe
與uprobe一樣,程序員可以使用perf在內(nèi)核代碼中插入一個kprobe,可以直接將探針點插入到函數(shù)start和return中,源文件的特定行號等。程序員可以向-k選項提供vmlinux,也可以為-s選項提供內(nèi)核源代碼路徑:
# perf probe -k vmlinux kfree_entry=kfre\n# perf probe -k vmlinux kfree_exit=kfree%retur\n# perf probe -s ./ kfree_mid=mm/slub.c:3408 \n# perf record -e probe:kfree_entry -e probe:kfree_exit -e probe:kfree_mid sleep 10
使用perf腳本,以上示例的輸出:
linux nmeter的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux nmeter,深入了解 Linux nmeter 網(wǎng)絡(luò)監(jiān)控工具,怎么在LINUX上打開控制臺?,如何在Linux用戶和內(nèi)核空間中進(jìn)行動態(tài)跟蹤的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
新聞標(biāo)題:深入了解Linuxnmeter網(wǎng)絡(luò)監(jiān)控工具(linuxnmeter)
URL鏈接:http://m.fisionsoft.com.cn/article/coiecch.html


咨詢
建站咨詢
