導航:首頁 > 編程系統 > linux怎麼測試網速

linux怎麼測試網速

發布時間:2023-09-27 14:28:09

1. linux下裡面如何獲取網卡的實時網速

#include <time.h>
#include "tspeed.h"
int main ()
{
struct if_speed ndev;
int ret = 0;
bzero(&ndev,sizeof(ndev));
sprintf(ndev.ifs_name,"eth0");
ndev.ifs_us = 100000;
printf("Get %s Speed",ndev.ifs_name);
#if 1
ret = get_if_speed(&ndev);
if(ret < 0)
printf("[Fail]\n");
else
printf("[OK]\n");
float ispeed ,ospeed;
while(1){
time_t *timep = malloc(sizeof(*timep));
time(timep);
char *s = ctime(timep);
ispeed = ndev.ifs_ispeed * 1.0/(ndev.ifs_us/1000 * 0.001);
ospeed = ndev.ifs_ospeed * 1.0/(ndev.ifs_us/1000 * 0.001);
#if 0
printf("%s: Up Speed: %fMB/s || Down Speed: %fMB/s\r",
ndev.ifs_name,ispeed/(1024.0*1024.0),ospeed/(1024.0*1024.0));
#endif
sleep(3);
#if 1
printf("*****************************************************\n");
printf("*****************************************\n");
printf("***************************\n");
printf("*************\n");
printf("Time is %s || Down Speed: %fKB/s\n",s,ospeed/(1024.0));
#endif
get_if_speed(&ndev);
}
#endif
return 0;
} /* ----- End of main() ----- */
----------------------------------------------------------------------------
#include "tspeed.h"
int get_if_dbytes(struct if_info* ndev)
{
assert(ndev);
struct ifaddrs *ifa_list = NULL;
struct ifaddrs *ifa = NULL;
struct if_data *ifd = NULL;
int ret = 0;
ret = getifaddrs(&ifa_list);
if(ret < 0) {
perror("Get Interface Address Fail:");
goto end;
}
for(ifa=ifa_list; ifa; ifa=ifa->ifa_next){
if(!(ifa->ifa_flags & IFF_UP) && !(ifa->ifa_flags & IFF_RUNNING))
continue;
if(ifa->ifa_data == 0)
continue;
ret = strcmp(ifa->ifa_name,ndev->ifi_name);
if(ret == 0){
ifd = (struct if_data *)ifa->ifa_data;
ndev->ifi_ibytes = ifd->ifi_ibytes;
ndev->ifi_obytes = ifd->ifi_obytes;
break;
}
}
freeifaddrs(ifa_list);
end:
return (ret ? -1 : 0);
}
int get_if_speed(struct if_speed *ndev)
{
assert(ndev);
struct if_info *p1=NULL,*p2=NULL;
p1 = (struct if_info *)malloc(sizeof(struct if_info));
p2 = (struct if_info *)malloc(sizeof(struct if_info));
bzero(p1,sizeof(struct if_info));
bzero(p2,sizeof(struct if_info));
strncpy(p1->ifi_name,ndev->ifs_name,strlen(ndev->ifs_name));
strncpy(p2->ifi_name,ndev->ifs_name,strlen(ndev->ifs_name));
int ret = 0;
ret = get_if_dbytes(p1);
if(ret < 0) goto end;
usleep(ndev->ifs_us);
ret = get_if_dbytes(p2);
if(ret < 0) goto end;
ndev->ifs_ispeed = p2->ifi_ibytes - p1->ifi_ibytes;
ndev->ifs_ospeed = p2->ifi_obytes - p1->ifi_obytes;
end:
free(p1);
free(p2);
return 0;
}
------------------------------------------
#ifndef __TSPEED_H__
#define __TSPEED_H__

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <error.h>
#include <ifaddrs.h>
#include <net/if.h> /* for ifconf */
#include <linux/sockios.h> /* for net status mask */
#include <netinet/in.h> /* for sockaddr_in */
#include <sys/socket.h>
#include <sys/ioctl.h>
/* For "open" function */
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
struct if_data
{
/* generic interface information */
u_long ifi_opackets; /* packets sent on interface */
u_long ifi_ipackets; /* packets received on interface */
u_long ifi_obytes; /* total number of octets sent */
u_long ifi_ibytes; /* total number of octets received */
};

struct if_info
{
char ifi_name[16];
unsigned long ifi_ibytes;
unsigned long ifi_obytes;
};
struct if_speed
{
char ifs_name[16];
unsigned long ifs_ispeed;
unsigned long ifs_ospeed;
unsigned long ifs_us;
};
int get_if_dbytes(struct if_info *ndev);
int get_if_speed(struct if_speed *ndev);
#endif
------------------------
純手打 代碼都給你了

2. 如何測試兩台linux伺服器之間的連接速度有什麼命令或軟體可以做到詳細些。

iperf,具體要纖細直接去看文檔,簡單給列條測試:(TCP和UDP知只是兩種傳輸數據的協議)。

TCP測試:

1、客戶端執行:./iperf -c host -i 1 -w 1M,其中-w表示TCP window size,host需替換成伺服器地址。

2、伺服器執行:./iperf -s -i 1 -w 1M '這_是指定windows如果是 iperf -s則windwos默認大小為8kbyte/s 。

(2)linux怎麼測試網速擴展閱讀:

優勢:穩定性。

Linux系統是眾所周知最具穩定性的系統;事實上,以Linux系統的美國伺服器用戶在出現系統崩潰的反饋上比例非常少。這對於用戶來說,特別是小型和中小型企業的用戶特別有價值,因為伺服器系統一旦崩潰對企業的業務會造成很大的影響。

與windows相比,Linux處理不運行的進程的能力遠高於windows,因為正是這些進程影響了windows的穩定性的主要因素。

3. linux測試網速的工具

1.fast
2.speedtest
3.iperf

4. linux 如何查看當前進程佔用的網速

  1. 沒辦法查看進程的網速,可以看當前的網速流量

    使用iftop命令;

  2. 安裝iftop,如果默認找不到就安裝個epel源(回此處是答centos6的)

    cd/usr/local/src
    wgethttp://mirrors.sohu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
    rpm-ivhepel-release-6-8.noarch.rpm
    yumcleanall
    yummakecache


yum -y install iftop


iftop

=》 《=箭頭指示出是進還是出的流量

TX: 發送流量

RX: 接收流量

5. linux如何判斷網路是百兆還是千兆

必須 測速 兩台電腦 直接傳文件。 實際網速跟很多情況有關。網線質量 路由器速率 雙方的網卡 干擾 網路中有無感染病毒的主機。必須實際測速 。用socat 或者 ftp 之類在區域網內部直接傳文件,看速率。

ethtool eth0
mii-tool -v eth0

可以查看連接速率是100m 還是1000m 但這不一定等於網路實際可提供的帶寬。所以得測速

6. 如何查看兩台電腦之間的網路是否暢通

Ping命令常用於測試網路的連通性,是否正常運行。

方法如下:

用其簡單的ping 命令,如: ping 192.168.1.1,可以ping前端的網關IP地址 ,區域網內其它的電腦IP地址,遠程的一個網站IP地址。

註:現在多數網路設備都有禁止ping的功能,因此有些網路實際上是通的,而通過ping命令卻顯示不通。

當ping命令返回下面的結果時,說明網路是通暢的:

5、如果顯示timeout則網路未連接或掉包。如果顯示位元組、時間等信自息則網路正常,時間的MS數越小,說明網速越快。

Ping 是Windows、Unix和Linux系統下的一個命令。ping也屬於一個通信協議,是TCP/IP協議的一部分。利用「ping」命令可以檢查網路 是否連通,可以很好地分析和判定網路故障。應用格式:Ping空格IP地址。該命令還可以加許多參數使用,具體是鍵入Ping按回車即可看到詳細說明。

7. linux查看網速命令

liunx本身沒有抄特別完美的網襲速命令,但有幾個可以用nload,iftop,iptraf,nethogs,bmon,slurm,tcptrack這些命令都不是liunx內部命令,也就是說不是所有liunx版本都包括這些命令。目前最流行的是speedtest這個命令是需要安裝的

8. 怎麼用ping命令測試網速

1、先來檢測一下內網是速連通,假如內網其他機器的IP是192.168.1.10,我們就可以用ping 192.168.1.102 -t,-t是一直ping,如圖所示:

ping命令使用詳解

以上就是怎麼ping網速的相關介紹,你可以通過上面的說明了解怎麼通過ping命令來檢測網速,當然如果你想了解更多ping命令的使用方法,你可以輸入ping /?,這時會顯示所有有關ping命令的參數,具體如下:

用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name


選項:
-t Ping 指定的主機,直到停止。
若要查看統計信息並繼續操作 - 請鍵入 Control-Break;
若要停止 - 請鍵入 Control-C。
-a 將地址解析成主機名。
-n count 要發送的回顯請求數。
-l size 發送緩沖區大小。
-f 在數據包中設置「不分段」標志(僅適用於 IPv4)。
-i TTL 生存時間。
-v TOS 服務類型(僅適用於 IPv4。該設置已不贊成使用,且
對 IP 標頭中的服務欄位類型沒有任何影響)。
-r count 記錄計數躍點的路由(僅適用於 IPv4)。
-s count 計數躍點的時間戳(僅適用於 IPv4)。
-j host-list 與主機列表一起的鬆散源路由(僅適用於 IPv4)。
-k host-list 與主機列表一起的嚴格源路由(僅適用於 IPv4)。
-w timeout 等待每次回復的超時時間(毫秒)。
-R 同樣使用路由標頭測試反向路由(僅適用於 IPv6)。
-S srcaddr 要使用的源地址。
-4 強制使用 IPv4。
-6 強制使用 IPv6。

閱讀全文

與linux怎麼測試網速相關的資料

熱點內容
計算機程序文件名擴展名為 瀏覽:982
網路游戲推廣策劃案 瀏覽:609
替換所有文件內容的代碼 瀏覽:960
不是常用數據模型有哪些 瀏覽:426
aspcms版本號 瀏覽:835
安卓怎麼用數據流量下載軟體 瀏覽:553
大眾手動空調數據流通道號是多少 瀏覽:303
手機qq令牌 瀏覽:737
cg原畫上色教程 瀏覽:993
婚介服務中心app怎麼做 瀏覽:43
日本蘋果66g多少錢 瀏覽:93
個性的文件夾名稱 瀏覽:697
怎麼設置文件打開密碼 瀏覽:811
手機版qq客服代碼怎麼用 瀏覽:24
fme可以打開哪些文件 瀏覽:339
好看的qq密碼 瀏覽:293
安卓唯一標識有哪些 瀏覽:243
win10ime 瀏覽:271
手機號大數據保護停機是什麼意思 瀏覽:81
兩個蘋果手機怎麼隔空投送app 瀏覽:903

友情鏈接