当前位置:首页 » 操作系统 » 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服务器地址

热点内容
ui与编程 发布:2024-10-04 23:26:49 浏览:900
google访问ip 发布:2024-10-04 23:19:28 浏览:51
陕西税票服务器地址 发布:2024-10-04 23:04:23 浏览:16
2014访问学者 发布:2024-10-04 22:59:37 浏览:917
c质数的算法 发布:2024-10-04 22:58:32 浏览:521
三星的浏览器在哪个文件夹 发布:2024-10-04 22:57:05 浏览:987
连接line的服务器地址 发布:2024-10-04 22:57:01 浏览:181
衣柜门尺寸简单算法 发布:2024-10-04 22:56:54 浏览:722
有什么软件可以清理缓存垃圾 发布:2024-10-04 22:55:24 浏览:755
手机电脑中配置是指的什么 发布:2024-10-04 22:53:53 浏览:156