當前位置:首頁 » 操作系統 » linuxc獲取ip

linuxc獲取ip

發布時間: 2022-04-29 11:10:41

linux C自動獲取區域網可用IP

提供一個思路:

可以用libpcap,先不設置IP,設置網口為混雜模式,抓取一定時間的包,然後統計包裡面沒被使用的IP地址,如果一個IP被使用,必定在網路中會有ARP通信。

⑵ linux操作系統如何查找電腦ip地址

許多windows用戶非常熟悉ipconfig命令行工具,它被用來獲取網路介面配置信息並對此進行修改。Linux系統擁有一個類似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登錄或使用sudo以便在Linux機器上使用ifconfig工具。依賴於ifconfig命令中使用一些選項屬性,ifconfig工具不僅可以被用來簡單地獲取網路介面配置信息,還可以修改這些配置。
示例用法:
$
ifconfig

上圖中紅色方框內就是電腦的ip地址。ifconfig命令除了會顯示出電腦的ip地址外,還會顯示出硬體地址、廣播地址、子網掩碼等信息。

⑶ Linux如何獲取IP地址

輸入 ifconfig eth0 ,因為Linux系統裝好後默認網卡是eth0

⑷ linux系統自動獲取ip地址

配置文件設置dhcp即可 然後重啟網卡服務就會獲得IP 具體可以看看《linux就該這么學》

⑸ Linux如何自動獲取IP地址及配置靜態IP地址上

第一步:激活網卡
系統裝好後默認的網卡是eth0,用下面的命令將這塊網卡激活。
# ifconfig eth0 up
第二步:設置網卡進入系統時啟動
想要每次開機就可以自動獲取IP地址上網,就要設置網路服務在系統啟動時也啟動。Linux有一點與windows不同的是很多服務默認是停止的,而且你在某次使用該服務時啟動這個服務,但是沒設置它為默認啟動,則下次進入系統這個服務依然是停止的。下面是設置網路服務在系統啟動時也啟動的方法。
使用chkconfig命令讓網路服務在系統啟動級別是2345時默認啟動。
# chkconfig --level 2345 network on
第三步:修改網卡文件ifcfg-eth0
修改ifcfg-eth0文件,設置ONBOOT的值為yes,讓網路服務啟動時使用該網卡。設置BOOTPROTO的值為dhcp,讓網卡從DHCP伺服器自動獲取IP地址。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=dhcp
總結:
通常情況下第三步是最重要的,因為大部分Linux系統默認網路服務是系統啟動時也啟動的,網卡也是啟用的,只要設置好第三步,然後使用下面的命令啟動網路服務就OK。
# service network start
配置靜態IP地址上網與動態IP地址上網同出一轍,修改ifcfg-eth0,然後用命令service network retart重啟網路服務。
DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS=8.8.8.8
BOOTPROTO=static
ONBOOT=yes

debian:
編輯/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.1.36
netmask 255.255.255.0
gateway 192.168.1.10 #公司的網關是192.168.1.10,一般是192.168.1.1

保存編輯結果,並重啟網路服務
/etc/init.d/networking restart

已經可以用新的靜態IP訪問internet了。

⑹ linux下如何獲取網卡IP地址及MAC地址

一般的linux系統的話輸入
/sbin/ifconfig

然後eth0一般就是你的網卡,裡面找HWaddr後面就是MAC地址

⑺ linux如何自動獲取ip地址

  • # ifconfig eth0 up 第二步:設置網卡進入系統時啟動想要每次開機就可以自動獲取IP地址上網,就要設置網路服務在系統啟動時也啟動。Linux有一點與windows不同的是很多服務默認是停止的,而且你在某次使用該服務時啟動這個服務,但是沒設置它為默認啟動,則下次進入系統這個服務依然是停止的。下面是設置網路服務在系統啟動時也啟動的方法。使用chkconfig命令...[詳細]

⑻ 怎麼用c語言獲取Linux系統的網卡IP地址

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<net/if.h>
#include<netdb.h>
#include<arpa/inet.h>
#include<sys/ioctl.h>

//獲取地址
//返回IP地址字元串
intgetlocalip(char*outip)
{
inti=0;
intsockfd;
structifconfifconf;
charbuf=(char)malloc(512);
structifreq*ifreq;
char*ip;

//初始化ifconf
ifconf.ifc_len=512;
ifconf.ifc_buf=buf;

if((sockfd=socket(AF_INET,SOCK_DGRAM,0))<0)
{
return-1;
}
ioctl(sockfd,SIOCGIFCONF,&ifconf);//獲取所有介面信息
close(sockfd);
//接下來一個一個的獲取IP地址
ifreq=(structifreq*)buf;
i=ifconf.ifc_len/sizeof(structifreq);
char*pos=outip;
intcount;
for(count=0;(count<5&&i>0);i--)
{
ip=inet_ntoa(((structsockaddr_in*)&(ifreq->ifr_addr))->sin_addr);

if(strncmp(ip,"127.0.0.1",3)==0)//排除127.x.x.x,繼續下一個
{
ifreq++;
continue;
}else
{
printf("%s ",ip);
strcpy(pos,ip);
intlen=strlen(ip);
pos=' ';
pos+=len+1;
count++;
ifreq++;
}
}
free(buf);
return0;
}
//——————————-函數的調用方式————————————-
intmain(intargc,char**argv)
{
charip={'*'};

if(getlocalip(ip)==0)
{
printf("本機IP地址是:%s ",ip);
}
else
{
printf("無法獲取本機IP地址");
}
return0;
}

⑼ 請問linux下有c語言函數或者代碼可以獲取與之相連設備的ip嗎

有的fd為你連接設備的網路套接字。
你直接輸入套接字就可以得到了連接設備ip和埠了。

struct sockaddr_in sa;
int len1 = sizeof(sa);
if(getpeername(fd, (struct sockaddr *)&sa, &len1))
{
fprintf(stderr,"get client ip and port failed,exit!\n");
}
printf("ip=%s|埠=%s\n",inet_ntoa(sa.sin_addr),ntohs(sa.sin_port));ip|port

⑽ linux如何配置自動獲取IP地址

設置自動獲取IP地址方法:
(1)右鍵「網路鏈接」選擇「屬性」打開網路連接管理界面。
(2)在打開的窗戶中找到:Internet協議(TCP/IP) 雙擊打開或者單擊選中,單擊屬性。
(3)選擇自動獲取IP地址和選擇自動獲取DNS伺服器地址

熱點內容
垃圾緩存的英文 發布:2024-10-05 01:13:34 瀏覽:947
md5加密c實現 發布:2024-10-05 01:13:31 瀏覽:299
updatesql兩個表 發布:2024-10-05 01:13:30 瀏覽:4
趙南起韓國訪問 發布:2024-10-05 01:04:00 瀏覽:985
基於pid演算法 發布:2024-10-05 00:41:22 瀏覽:925
有什麼手機配置低的還好玩 發布:2024-10-05 00:40:23 瀏覽:669
redis資料庫查詢 發布:2024-10-05 00:27:43 瀏覽:946
如何消除安卓的彈窗 發布:2024-10-05 00:26:59 瀏覽:427
wget下載文件夾 發布:2024-10-05 00:26:22 瀏覽:44
mysql調用存儲過程out 發布:2024-10-05 00:03:30 瀏覽:231