首先網來線的對端要連好,比自如交換機什麼的。
Linux中有ethtool命令可以查看網卡狀態。比如網卡是eth0,那麼:
ethtool eth0
會有很多輸出,查看Speed:那一行,如果是「Unknown!」,網線沒接好,或者網卡沒啟用。
接好的會顯示當前的連接速度,比如:1000Mb/s
❷ Linux怎麼編程檢測網線是不是拔掉了
使用ifconfig命令,如果含有「RUNNING」,說明網線接入,否則就沒有。
例:
ifconfig
ifconfig eth0
ifconfig eth0|grep "RUNNING"
代碼可以寫成
#include<sys/socket.h>
#include<sys/ioctl.h>
#include<linux/if.h>
#include<string.h>
#include<stdio.h>
#include<netdb.h>
intnet_detect(char*net_name)
{
intskfd=0;
structifreqifr;
structsockaddr_in*pAddr=NULL;
skfd=socket(AF_INET,SOCK_DGRAM,0);
if(skfd<0)
{
printf("%s:%dOpensocketerror! ",__FILE__,__LINE__);
return-1;
}
strcpy(ifr.ifr_name,net_name);
if(ioctl(skfd,SIOCGIFFLAGS,&ifr)<0)
{
printf("%s:%dIOCTLerror! ",__FILE__,__LINE__);
printf("Maybeethernetinferface%sisnotvalid!",ifr.ifr_name);
close(skfd);
return-1;
}
if(ifr.ifr_flags&IFF_RUNNING)
{
printf("%sisrunning:) ",ifr.ifr_name);
}
else
{
printf("%sisnotrunning:( ",ifr.ifr_name);
}
if(ioctl(skfd,SIOCGIFADDR,&ifr)<0)
{
printf("SIOCGIFADDRIOCTLerror! ");
close(skfd);
return-1;
}
pAddr=(structsockaddr_in*)&(ifr.ifr_addr);
printf("ipaddr:[%s] ",inet_ntoa(pAddr->sin_addr));
if(ioctl(skfd,SIOCGIFHWADDR,&ifr)<0)
{
printf("SIOCGIFHWADDRIOCTLerror! ");
close(skfd);
return-1;
}
printf("macaddr:%02x:%02x:%02x:%02x:%02x:%02x ",
(unsignedchar)ifr.ifr_hwaddr.sa_data[0],
(unsignedchar)ifr.ifr_hwaddr.sa_data[1],
(unsignedchar)ifr.ifr_hwaddr.sa_data[2],
(unsignedchar)ifr.ifr_hwaddr.sa_data[3],
(unsignedchar)ifr.ifr_hwaddr.sa_data[4],
(unsignedchar)ifr.ifr_hwaddr.sa_data[5]);
close(skfd);
return0;
}
intmain()
{
intret;
ret=net_detect("eth0");
returnret;
}
❸ 如何查看Linux下網卡是否連接(UP)
有的人用ifconfig -a 查網卡已經配置的正確的IP地址,可是就是ping不能網路,到機房一看網線沒接,^@^! 網路不通 會有好多原因,但最先查的就是網卡的網路是還已連接並UP。就像辦公室的MM喊著說上不了網,結果「本地連接」都是「X」的一樣的情況。 [root@localhost root]# mii-tool eth0: negotiated 100baseTx-FD, link ok eth1: no link或[root@localhost root]# mii-tool -v eth0: negotiated 100baseTx-FD, link ok proct info: vendor 00:50:43, model 2 rev 3 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD eth1: no link proct info: vendor 00:50:43, model 2 rev 3 basic mode: autonegotiation enabled basic status: no link capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control或[root@localhost root]# mii-tool -w 21:20:33 eth0: negotiated 100baseTx-FD, link ok 21:20:33 eth1: no link //mii-tool主要是用於配置網卡工作模式的指令,同時也可以進行查詢、監控等工作!2)[root@localhost /]# /etc/init.d/network status Configured devices: lo eth0 eth1 Currently active devices:lo eth0等同於[root@localhost root]# service --status-all Configured devices: lo eth0 eth1
❹ linux如何上網
第一步,先打開虛擬機至圖形用戶界面,看一下是否有網路連接。
❺ 「Linux」中如何判斷哪個網卡連接網線
【解決方法】
1、ifconfig查看現在使用的網卡。
2、ethtool命令查看網卡的具體信息,如eth0是連接狀態,則正常使用。