導航:首頁 > 編程系統 > linuxstream測試

linuxstream測試

發布時間:2023-07-30 07:36:57

1. 如何在linux環境下測試埠的連通性

方法/步驟

2. 伺服器硬體測試教程

1概述
1.1背景
本文的編寫背景是目前機房伺服器資源存在未充分使用的現象,為了合理分
配資源,現需要對伺服器自身性能進行評估,探索一套評估方法,從而為後續資源合理分配提供依據。
1.2評測指標
簡單來說,伺服器硬體性能指標來自於測試對象,一般x86伺服器的主要組
成有CPU、內存、硬碟、網卡等。針對單機,評測指標重點關注CPU、內存、IO、網路;對於集群,重點關注網路、高可用。
本文主要評測單機性能,指標如下:
CPU—計算能力
內存—延時、速率
IO—讀寫能力
網路—網路帶寬
1.3工具概況
CPU主流評測工具有Linux平台的SPECCPU、linpack,Windows平台的Sandra。
內存主流評測工具有Linux平台的stream,Windows平台的Sandra。
IO主流評測工具有Linux平台的Iozone,Windows平台的Iometer。
網路主流評測工具有Linux平台的iperf、netperf。
其他一些對整體系統進行評測的工具就不再介紹了,例如SPEC系列、TPC基準系列。
2 CPU性能
2.1評測方法
關於Linux測試cpu性能,有3個重要的概念:上下文切換(context switchs),運行隊列(Run queue)和使用率(utilization)。
業務運行中最關注的CPU項就是使用率,使用率是和業務負載強相關的,通常可以通過監控軟體或Linux系統工具獲取。
另一個基本評測值就是計算能力,包括整數、浮點計算,可以使用SPECCPU、linpack測試。
2.2評測工具
CPU使用率是平時最關注的性能項,採用系統工具或第三方工具都可以。具體工具不再詳述。
CPU整數、浮點計算能力,是伺服器發布必測項,但是對於客戶卻不太重要,客戶關注的是業務運行時CPU的能力是否會成為瓶頸。評測工具主要有SPECCPU2006、Linpack:
SPEC CPU 2006包括了CINT2006和C FP2006兩個子項目,前者用於測量和對比整數性能,而後者則用於測量和對比浮點性能,SPEC CPU 2006包括了12項整數運算和17項浮點運算。
Linpack現在在國際上已經成為最流行的用於測試高性能計算機系統浮點性能的benchmark。通過利用高性能計算機,用高斯消元法求解N元一次稠密線性代數方程組的測試,評價高性能計算機的浮點性能,測試結果以浮點運算每秒(Flops)給出。
3 內存性能
3.1評測方法
內存性能一般關注的指標是延時、帶寬,測試方法有Windows下使用Sandra,Linux使用stream進行評測,可以得到當前內存的實際速率、延時。這是單獨針對內存的測試方法,但在實際應用中通常對內存的評測是在壓力、穩定性、性能測試時的監測內存的使用。
3.2評測工具
STREAM是業界廣為流行的綜合性內存帶寬實際性能測量工具之一。隨著處理器處理核心數量的增多,內存帶寬對於提升整個系統性能越發重要,如果某個系統不能夠足夠迅速地將內存中的數據傳輸到處理器當中,若干處理核心就會處於等待數據的閑置狀態,而這其中所產生的閑置時間不僅會降低系統的效率還會抵消多核心和高主頻所帶來的性能提升因素。STREAM具有良好的空間局部性,是對TLB友好、Cache友好的一款測試。STREAM支持Copy 、Scale 、 Add、 Triad四種操作。
4 IO性能
4.1評測方法
伺服器的存儲性能也就是指IO性能,通常評測的重點是各種數據塊(512B、4K、2M…)下的讀寫能力,具體指標有IOPS、帶寬、時延。測試原理是工具對存儲加壓也就是產生各種讀寫操作來測試整個IO的最大能力。
4.2評測工具
Iometer是Windows系統下對存儲子系統的讀寫性能進行測試的軟體。可以顯示磁碟系統的最大IO能力、磁碟系統的最大吞吐量、CPU使用率、錯誤信息等。用戶可以通過設置不同的測試的參數,有存取類型(如sequential ,random)、讀寫塊大小(如64K、256K),隊列深度等,來模擬實際應用的讀寫環境進行測試。
IOzone主要用來測試操作系統文件系統性能的測試工具,該工具所測試的范圍主要有,write , Re-write, Read, Re-Read, Random Read, Random Write, Random Mix, Backwards Read, Record Rewrite, Strided Read, Fwrite, Frewrite, Fread, Freread, Mmap, Async I/O。使用iozone可以在多線程、多cpu,並指定cpu cache空間大小以及同步或非同步I/O讀寫模式的情況下進行測試文件操作性能。
5 網路性能
5.1評測方法
網路帶寬不難理解,就是系統收發包時的最大流量,一般分為TCP、UDP兩種模式。影響伺服器網路性能主要是網卡的性能,其他如系統內核、驅動也是相關因素。測試方法一般需要2台伺服器進行收發包,一端server,一端client。
5.2評測工具
Iperf是一個網路性能測試工具。Iperf可以測試TCP和UDP帶寬質量。Iperf可以測量最大TCP帶寬,具有多種參數和UDP特性。Iperf可以報告帶寬,延遲抖動和數據包丟失。利用Iperf這一特性,可以用來測試一些網路設備如路由器,防火牆,交換機等的性能。
Netperf是一種網路性能的測量工具,主要針對基於TCP或UDP的傳輸。
Netperf根據應用的不同,可以進行不同模式的網路性能測試,即批量數據傳輸(bulk data transfer)模式和請求/應答(request/reponse)模式。Netperf測試結果所反映的是一個系統能夠以多快的速度向另外一個系統發送數據,以及另外一個系統能夠以多快的速度接收數據。

3. 在Linux中,stream是什麼意思

stream是數據流的意思.
具體的定義我也不能說得很清楚.
大概指的是連續的數據信息,而只有少數的區別,好象主要是在地址上有點區別,在處理上應該可以用同一個函數進行處理.

4. linux 下如何編寫c程序,獲得命令行結果


void executeShell(const char *shell){

FILE *stream;

char buf[1024];

memset( buf, '', sizeof(buf) );//初始化buf,以免後面寫如亂碼到文件中

stream = popen( shell , "r" ); //將命令的輸出 通過管道讀取(「r」參數)到FILE* stream

fread( buf, sizeof(char), sizeof(buf), stream); //將剛剛FILE* stream的數據流讀取到buf中

pclose( stream );

printf("%s ",buf);//列印輸出結果

}

5. Linux下,不用telnet命令,還有別的命令可以測試埠是否開放嗎

可以用python的socket模塊,比telnet快多了。下面是我測試過的代碼,樓主可以參考一下:


#!/usr/local/bin/python

#nameIsOpen.py

importos

importsys

importsocket


#firstargument

host=sys.argv[1]

#secondargument

port=int(sys.argv[2])


#sockettryconnect

defIsOpen(ip,port):

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

try:

s.connect((ip,port))

s.shutdown(2)

print('IP%s,port%disopen'%(ip,port))

returnTrue

except:

print('IP%s,port%disdown'%(ip,port))

returnFalse

if__name__=='__main__':


6. Linux伺服器是否被攻擊怎麼判斷

1、檢查系統密碼文件

首先從明顯的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。

檢查一下passwd文件中有哪些特權用戶,系統中uid為0的用戶都會被顯示出來。

1

awk –F:』$3==0{print$1}』/etc/passwd

順便再檢查一下系統里有沒有空口令帳戶:

1

awk –F: 『length($2)==0{print$1}』/etc/shadow

2、查看一下進程,看看有沒有奇怪的進程

重點查看進程:ps –aef | grep inetd

inetd是UNIX系統的守護進程,正常的inetd的pid都比較靠前,如果你看到輸出了一個類似inetd –s /tmp/.xxx之類的進程,著重看inetd –s後面的內容。在正常情況下,LINUX系統中的inetd服務後面是沒有-s參數的,當然也沒有用inetd去啟動某個文件;而solaris系統中也僅僅是inetd –s,同樣沒有用inetd去啟動某個特定的文件;如果你使用ps命令看到inetd啟動了某個文件,而你自己又沒有用inetd啟動這個文件,那就說明已經有人入侵了你的系統,並且以root許可權起了一個簡單的後門。

輸入ps –aef 查看輸出信息,尤其注意有沒有以./xxx開頭的進程。一旦發現異樣的進程,經檢查為入侵者留下的後門程序,立即運行kill –9 pid 開殺死該進程,然後再運行ps –aef查看該進程是否被殺死;一旦此類進程出現殺死以後又重新啟動的現象,則證明系統被人放置了自動啟動程序的腳本。這個時候要進行仔細查找:find / -name 程序名 –print,假設系統真的被入侵者放置了後門,根據找到的程序所在的目錄,會找到很多有趣的東東J

UNIX下隱藏進程有的時候通過替換ps文件來做,檢測這種方法涉及到檢查文件完整性,稍後我們再討論這種方法。

接下來根據找到入侵者在伺服器上的文件目錄,一步一步進行追蹤。

3、檢查系統守護進程

檢查/etc/inetd.conf文件,輸入:cat /etc/inetd.conf | grep –v 「^#」,輸出的信息就是你這台機器所開啟的遠程服務。

一般入侵者可以通過直接替換in.xxx程序來創建一個後門,比如用/bin/sh 替換掉in.telnetd,然後重新啟動inetd服務,那麼telnet到伺服器上的所有用戶將不用輸入用戶名和密碼而直接獲得一個rootshell。

4、檢查網路連接和監聽埠

輸入netstat -an,列出本機所有的連接和監聽的埠,查看有沒有非法連接。

輸入netstat –rn,查看本機的路由、網關設置是否正確。

輸入 ifconfig –a,查看網卡設置。

5、檢查系統日誌

命令last | more查看在正常情況下登錄到本機的所有用戶的歷史記錄。但last命令依賴於syslog進程,這已經成為入侵者攻擊的重要目標。入侵者通常會停止系統的syslog,查看系統syslog進程的情況,判斷syslog上次啟動的時間是否正常,因為syslog是以root身份執行的,如果發現syslog被非法動過,那說明有重大的入侵事件。

在linux下輸入ls –al /var/log

在solaris下輸入 ls –al /var/adm

檢查wtmp utmp,包括messgae等文件的完整性和修改時間是否正常,這也是手工擦除入侵痕跡的一種方法。

6、檢查系統中的core文件

通過發送畸形請求來攻擊伺服器的某一服務來入侵系統是一種常規的入侵方法,典型的RPC攻擊就是通過這種方式。這種方式有一定的成功率,也就是說它並不能100%保證成功入侵系統,而且通常會在伺服器相應目錄下產生core文件,全局查找系統中的core文件,輸入find / -name core –exec ls –l {} ; 依據core所在的目錄、查詢core文件來判斷是否有入侵行為。

7、.rhosts和.forward

這是兩種比較著名的後門文件,如果想檢查你的系統是否被入侵者安裝了後門,不妨全局查找這兩個文件:

find / -name 「.rhosts」 –print

find / -name 「.forward」 –print

在某用戶的$HOME下,.rhosts文件中僅包含兩個+號是非常危險的,如果你的系統上開了513埠(rlogin埠,和telnet作用相同),那麼任意是誰都可以用這個用戶登錄到你的系統上而不需要任何驗證。

看到這里如果想要深入的做安全加固服務以及安全部署

就必須找專業做伺服器的安全公司來處理了國內也就Sine安全和綠盟比較專業提供。

Unix下在.forward文件里放入命令是重新獲得訪問的常用方法在某一 用戶$HOME下的.forward可能設置如下:

username|"/usr/local/X11/bin/xterm -disp hacksys.other.dom:0.0 –e /bin/sh"

這種方法的變形包括改變系統的mail的別名文件(通常位於/etc/aliases). 注意這只是一種簡單的變換. 更為高級的能夠從.forward中運行簡單腳本實現在標准輸入執行任意命令(小部分預處理後).利用smrsh可以有效的制止這種後門(雖然如果允許可以自運行的elm's filter或procmail類程序, 很有可能還有問題。在Solaris系統下,如果你運行如下命令:

ln -s /var/mail/luser ~/.forward

然後設置vacation有效,那麼/var/mail/luser就會被拷貝到~/.forward,同時會附加"|/usr/bin/vacation me",舊的symlink被移到~/.forward..BACKUP中。

直接刪除掉這兩個文件也可以。

8、檢查系統文件完整性

檢查文件的完整性有多種方法,通常我們通過輸入ls –l 文件名來查詢和比較文件,這種方法雖然簡單,但還是有一定的實用性。但是如果ls文件都已經被替換了就比較麻煩。在LINUX下可以用rpm –V `rpm –qf 文件名` 來查詢,國家查詢的結果是否正常來判斷文件是否完整。在LINUX下使用rpm來檢查文件的完整性的方法也很多,這里不一一贅述,可以man rpm來獲得更多的格式。

UNIX系統中,/bin/login是被入侵者經常替換作為後門的文件,接下來談一下login後門 :

UNIX里,Login程序通常用來對telnet來的用戶進行口令驗證。入侵者獲取login的源代碼並修改,使它在比較輸入口令與存儲口令時先檢查後門口令。如果用戶敲入後門口令,它將忽視管理員設置的口令讓你長驅直入:這將允許入侵者進入任何賬號,甚至是root目錄。由於後門口令是在用戶真實登錄並被日誌記錄到utmp和wtmP前產生的一個訪問,所以入侵者可以登錄獲取shell卻不會暴露該賬號。管理員注意到這種後門後,使用」strings」命令搜索login程序以尋找文本信息。許多情況下後門口令會原形畢露。入侵者又會開始加密或者更改隱藏口令,使strings命令失效。所以許多管理員利用MD5校驗和檢測這種後門。UNIX系統中有md5sum命令,輸入md5sum 文件名檢查該文件的md5簽名。它的使用格式如下:md5sum –b 使用二進制方式閱讀文件;md5sum –c 逆向檢查MD5簽名;md5sum –t 使用文本方式閱讀文件。

在前面提到過守護進程,對於守護進程配置文件inetd.conf中沒有被注釋掉的行要進行仔細比較,舉個簡單的例子,如果你開放了telnet服務,守護進程配置文件中就會有一句:telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd

可以看到它所使用的文件是 /usr/sbin/in.telnetd,檢查該文件的完整性,入侵者往往通過替換守護進程中允許的服務文件來為自己創建一個後門。

LINUX系統中的/etc/crontab也是經常被入侵者利用的一個文件,檢查該文件的完整性,可以直接cat /etc/crontab,仔細閱讀該文件有沒有被入侵者利用來做其他的事情。

不替換login等文件而直接使用進程來啟動後門的方法有一個缺陷,即系統一旦重新啟動,這個進程就被殺死了,所以得讓這個後門在系統啟動的時候也啟動起來。通常通過檢查/etc/rc.d下的文件來查看系統啟動的時候是不是帶有後門程序;這個方法怎麼有點象查windows下的trojan?

說到這里,另外提一下,如果在某一目錄下發現有屬性為這樣的文件:-rwsr-xr-x 1 root root xxx .sh,這個表明任何用戶進來以後運行這個文件都可以獲得一個rootshell,這就是setuid文件。運行 find –perm 4000 –print對此類文件進行全局查找,然後刪除這樣的文件。

9、檢查內核級後門

如果你的系統被人安裝了這種後門,通常都是比較討厭的,我常常就在想,遇到這種情況還是重新安裝系統算了J,言歸正傳,首先,檢查系統載入的模塊,在LINUX系統下使用lsmod命令,在solaris系統下使用modinfo命令來查看。這里需要說明的是,一般默認安裝的LINUX載入的模塊都比較少,通常就是網卡的驅動;而solaris下就很多,沒別的辦法,只有一條一條地去分析。對內核進行加固後,應禁止插入或刪除模塊,從而保護系統的安全,否則入侵者將有可能再次對系統調用進行替換。我們可以通過替換create_mole()和delete_mole()來達到上述目的。另外,對這個內核進行加固模塊時應盡早進行,以防系統調用已經被入侵者替換。如果系統被載入了後門模塊,但是在模塊列表/proc/mole里又看不到它們,有可能是使用了hack工具來移除載入的模塊,大名鼎鼎的knark工具包就有移除載入模塊的工具。出現這種情況,需要仔細查找/proc目錄,根據查找到的文件和經驗來判斷被隱藏和偽裝的進程。Knark後門模塊就在/proc/knark目錄,當然可能這個目錄是隱藏的。

7. Linux中的sed是什麼意思呢,如何使用呢

Sed是一項Linux指令,全稱是Stream
EDitor,功能同awk類似,差別在於,sed簡單,對列處理的功能要差一些,awk的功能復雜,對列處理的功能比較強大。Sed主要用於自動編輯一個或者多個文件,多用於腳本中對文件的處理。
Sed命令可以對文件進行增加、刪除、修改和查找操作,所以學好sed命令是寫自動化腳本必須的基礎之一。
調用sed命令有兩種形式:
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
sed命令主要選項
-e command,--expression=command允許多台編輯。
-h,--help列印幫助,並顯示bug列表的地址。
-n,--quiet,--silent取消默認輸出。
-f,--filer=script-file引導sed腳本文件名。
-V,--version列印版本和版權信息。
命令:
a\在當前行後面加入一行文本。
b label分支到腳本中帶有標記的地方,如果分支不存在則分支到腳本的末尾。
c\用新的文本改變本行的文本。
d 從模板塊位置刪除行。
D 刪除模板塊的第一行。
i\在當前行上面插入文本。
h拷貝模板塊的內容到內存中的緩沖區。
H 追加模板塊的內容到內存中的緩沖區。
g 獲得內存緩沖區的內容,並替代當前模板塊中的文本。
G 獲得內存緩沖區的內容,並追加到當前模板塊文本的後面。
l 列表不能列印字元的清單。
n 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。
N 追加下一個輸入行到模板塊後面並在二者間嵌入一個新行,改變當前行號碼。
p 列印模板塊的行。
P 列印模板塊的第一行。
q 退出Sed。
r file從file中讀行。
t labelif分支,從最後一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。
T label錯誤分支,從最後一行開始,一旦發生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。
w file寫並追加模板塊到file末尾。
W file寫並追加模板塊的第一行到file末尾。
! 表示後面的命令對所有沒有被選定的行發生作用。
s/re/string 用string替換正則表達式re。
= 列印當前行號碼。
# 把注釋擴展到下一個換行符以前。

閱讀全文

與linuxstream測試相關的資料

熱點內容
win10點擊文件夾聲音消失 瀏覽:963
蘋果手機空白文件名 瀏覽:833
linuxmv覆蓋合並文件夾 瀏覽:932
不開訪客網路怎麼聯網 瀏覽:631
win10的軟體卸載 瀏覽:779
crv汽車自帶網路怎麼打開 瀏覽:973
食品原材料到什麼網站購買 瀏覽:649
一年級的小孩子學編程怎麼樣 瀏覽:863
ic考勤機怎麼導出數據 瀏覽:922
網站設計編程如何開始學習 瀏覽:749
淘寶代碼隱藏導航不見了 瀏覽:7
macbookpro如何修改文件內容 瀏覽:965
java穩定排序 瀏覽:53
oppo文件管理的圖片 瀏覽:335
plc編程步數怎麼計算 瀏覽:142
ipad看電腦文件 瀏覽:935
成都製作pdf文件 瀏覽:735
怎麼樣點開電腦裡面的網路連接 瀏覽:755
微信怎麼退出賬號 瀏覽:32
w微信開發者工具 瀏覽:325

友情鏈接