当前位置:首页 » 生产设备 » 如何获设备的ip

如何获设备的ip

发布时间: 2021-01-23 03:36:19

Ⅰ 如何获取局域网内所有的主机ip

使用net view命令,步骤如下:
点击右下角的“开始”菜单,在运行或搜索栏中输入cmd,点击回车键
在命令窗口输入“net view”,按Enter键之后显示出局域网内所有正在运行的电脑,如图:

在命令窗口接着输入“ping —4 计算机名称”,如小编找的是“JINXIN—02A5F942”这台计算机的IP,按Enter之后就会弹出这台计算机的IP地址,如图:

如果局域网的电脑比较多的时候,单个查找IP地址就会很麻烦。给大家提供一个批处理文件,可以迅速的查找在线IP地址,代码如下:

1
2
3
4
5
6
7
8
9

@echo off
net view | find "\\">computername.txt
for /f "delims=\ " %%a in (computername.txt) do (
ping -n 1 %%a -4|findstr /i "TTL" >nul&&call :loop "%%a"
)>>所有在线的IP地址.txt
del computername.txt
pause&exit
:loop
for /f "tokens=2 delims=[]" %%b in ('ping -n 1 %~1 -4^|findstr "["') do echo "%%b"

注意:
所有在线IP的地址都会保存在当前目录的”所有在线的IP地址.txt“文件中。

Ⅱ 如何获取ios设备的当前IP地址

最近项目刚好有这个功能,两个Class IPAddress.h

#define MAXADDRS 32

extern char *if_names[MAXADDRS];
extern char *ip_names[MAXADDRS];
extern char *hw_addrs[MAXADDRS];
extern unsigned long ip_addrs[MAXADDRS];

// Function prototypes

void InitAddresses();
void FreeAddresses();
void GetIPAddresses();
void GetHWAddresses();
IPAddress.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <sys/sockio.h>
#include <net/if.h>
#include <errno.h>
#include <net/if_dl.h>
#include <net/ethernet.h>
#include "IPAddress.h"

#define min(a,b) ((a) < (b) ? (a) : (b))
#define max(a,b) ((a) > (b) ? (a) : (b))

#define BUFFERSIZE 4000

char *if_names[MAXADDRS];
char *ip_names[MAXADDRS];
char *hw_addrs[MAXADDRS];
unsigned long ip_addrs[MAXADDRS];

static int nextAddr = 0;

void InitAddresses()
{
int i;
for (i=0; i<MAXADDRS; ++i)
{
if_names[i] = ip_names[i] = hw_addrs[i] = NULL;
ip_addrs[i] = 0;
}
}

void FreeAddresses()
{
int i;
for (i=0; i<MAXADDRS; ++i)
{
if (if_names[i] != 0) free(if_names[i]);
if (ip_names[i] != 0) free(ip_names[i]);
if (hw_addrs[i] != 0) free(hw_addrs[i]);
ip_addrs[i] = 0;
}
InitAddresses();
}

void GetIPAddresses()
{
int i, len, flags;
char buffer[BUFFERSIZE], *ptr, lastname[IFNAMSIZ], *cptr;
struct ifconf ifc;
struct ifreq *ifr, ifr;
struct sockaddr_in *sin;

char temp[80];

int sockfd;

for (i=0; i<MAXADDRS; ++i)
{
if_names[i] = ip_names[i] = NULL;
ip_addrs[i] = 0;
}

sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if (sockfd < 0)
{
perror("socket failed");
return;
}

ifc.ifc_len = BUFFERSIZE;
ifc.ifc_buf = buffer;

if (ioctl(sockfd, SIOCGIFCONF, &ifc) < 0)
{
perror("ioctl error");
return;
}

lastname[0] = 0;

for (ptr = buffer; ptr < buffer + ifc.ifc_len; )
{
ifr = (struct ifreq *)ptr;
len = max(sizeof(struct sockaddr), ifr->ifr_addr.sa_len);
ptr += sizeof(ifr->ifr_name) + len; // for next one in buffer

if (ifr->ifr_addr.sa_family != AF_INET)
{
continue; // ignore if not desired address family
}

if ((cptr = (char *)strchr(ifr->ifr_name, ':')) != NULL)
{
*cptr = 0; // replace colon will null
}

if (strncmp(lastname, ifr->ifr_name, IFNAMSIZ) == 0)
{
continue; /* already processed this interface */
}

memcpy(lastname, ifr->ifr_name, IFNAMSIZ);

ifr = *ifr;
ioctl(sockfd, SIOCGIFFLAGS, &ifr);
flags = ifr.ifr_flags;
if ((flags & IFF_UP) == 0)
{
continue; // ignore if interface not up
}

if_names[nextAddr] = (char *)malloc(strlen(ifr->ifr_name)+1);
if (if_names[nextAddr] == NULL)
{
return;
}
strcpy(if_names[nextAddr], ifr->ifr_name);

sin = (struct sockaddr_in *)&ifr->ifr_addr;
strcpy(temp, inet_ntoa(sin->sin_addr));

ip_names[nextAddr] = (char *)malloc(strlen(temp)+1);
if (ip_names[nextAddr] == NULL)
{
return;
}
strcpy(ip_names[nextAddr], temp);

ip_addrs[nextAddr] = sin->sin_addr.s_addr;

++nextAddr;
}

close(sockfd);
}

void GetHWAddresses()
{
struct ifconf ifc;
struct ifreq *ifr;
int i, sockfd;
char buffer[BUFFERSIZE], *cp, *cplim;
char temp[80];

for (i=0; i<MAXADDRS; ++i)
{
hw_addrs[i] = NULL;
}

sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if (sockfd < 0)
{
perror("socket failed");
return;
}

ifc.ifc_len = BUFFERSIZE;
ifc.ifc_buf = buffer;

if (ioctl(sockfd, SIOCGIFCONF, (char *)&ifc) < 0)
{
perror("ioctl error");
close(sockfd);
return;
}

ifr = ifc.ifc_req;

cplim = buffer + ifc.ifc_len;

for (cp=buffer; cp < cplim; )
{
ifr = (struct ifreq *)cp;
if (ifr->ifr_addr.sa_family == AF_LINK)
{
struct sockaddr_dl *sdl = (struct sockaddr_dl *)&ifr->ifr_addr;
int a,b,c,d,e,f;
int i;

strcpy(temp, (char *)ether_ntoa((const struct ether_addr *)LLADDR(sdl)));
sscanf(temp, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f);
sprintf(temp, "%02X:%02X:%02X:%02X:%02X:%02X",a,b,c,d,e,f);

for (i=0; i<MAXADDRS; ++i)
{
if ((if_names[i] != NULL) && (strcmp(ifr->ifr_name, if_names[i]) == 0))
{
if (hw_addrs[i] == NULL)
{
hw_addrs[i] = (char *)malloc(strlen(temp)+1);
strcpy(hw_addrs[i], temp);
break;
}
}
}
}
cp += sizeof(ifr->ifr_name) + max(sizeof(ifr->ifr_addr), ifr->ifr_addr.sa_len);
}
close(sockfd);
}

使用的方法
- (void)getIPAddress
{
InitAddresses();
GetIPAddresses();
GetHWAddresses();

int i;
NSString *deviceIP = nil;
for (i=0; i<MAXADDRS; ++i)
{
static unsigned long localHost = 0x7F000001; // 127.0.0.1
unsigned long theAddr;

theAddr = ip_addrs[i];

if (theAddr == 0) break;
if (theAddr == localHost) continue;

NSLog(@"Name: %s MAC: %s IP: %s\n", if_names[i], hw_addrs[i], ip_names[i]);
}
}

[self getIPAddress]就能获取当前IP地址。

Ⅲ 如何检测一个设备的IP地址

不能通过ip判断是什么设备,因为任何互联网终端都可以使用ip地址传输。
比如计算机内、手机、智能设备、网容络设备等等。
ip地址:
IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

Ⅳ 怎样获得网络打印机的IP地址

首先你要知道打印机的的IP地址
有二种情况,第一种你安装了网络打印机服务器这内个设备,这个设备说明书上有容一个IP地址
第二种就是你这个打印机本身是安装另一个电脑上的,你到这个电脑上在“开始”_>“运行”输入CMD回车就出来一个窗口
在这个窗口里继续输入ipconfig就出现这个IP地址了,你就可以用这个IP进行安装了

Ⅳ 计算机是如何自动获取的IP地址的

设置自动获取IP地址方法:
(1)右键“网络链接”选择“属性”打开网络连接管专理界面。
(2)在打开属的窗户中找到:Internet协议(TCP/IP) 双击打开或者单击选中,单击属性。
(3)选择自动获取IP地址和选择自动获取DNS服务器地址。

Ⅵ PC链接一个新设备单元相互通信,不知道设备的IP,怎么才能获取设备的地址

自动获取的是你自己的网卡IP,要知道别人电脑的IP,可能下载一个‘聚生网管’软件进行扫描。

Ⅶ 如何获取网络设备IP地址

需要作个ip地址规划,比如多少机器,怎么访问等,ip地址是公有还是私有,是否只是内部用等。内举例,内部1个c段私有地址192.168.200.0/24,有15台机器,5个一个网段,另外10个一个网段,就可以将这个c分成8个或者16个子网,每个子网32或者16个地容址。用192.168.200.0/255.255.255.248和192.168.200.32/255.255.255.248这两个子网可满足现状,也有一定的可扩展性。

Ⅷ 如何通过IP地址找到相应的计算机或者设备。

1.看看设备上有没有串口,如果有串口的话可以使用超级终端看,网络摄像机一般都是linux系统,回可以答使用ifconfig查看。

2.如果设备可以连接到你的计算机,可以点击开始-运行-cmd,使用netstat -an查看设备与你的连接看ip。

3.如果清楚设备的默认ip,看看设备是否可以恢复出厂设置,然后使用默认ip登陆。

4.看看摄像机的说明书,一般都有介绍的或咨询摄像机的厂家。

Ⅸ 如何在android 中获取Wifi设备的IP地址

这个是路由器自动分配的。不干你手机的事情。不过,要是IP有冲突的,内不能上网的可容以使用静态地址 以下为复制黏贴,但绝对有效果 首先在你的电脑上(当然要是连着你无线路由器并能正常上网的那一台电脑)----开始----运行-----输入cmd并确定-----输入ipconfig并回车会出现一个信息框,不要关闭,如图: 步骤二: 在你的手机上,设置--无线与网络--wlan设置--按menu--高级--静态ip打勾,下面有五个要填的,先填第二个网关,就是你刚才ipconfig里面看到的***ult gateway,然后第一项ip地址你自己设定一个,前三个数字跟网关的相同,最后一个数随便起一个但是不要跟你的其他电脑重复,否则就会冲突,所以越古怪越好的数字比如118之类;第三项掩码是255.255.255.0(也就是ipconfig中的subnet mask),最下面的两个dns嘛,你网络一下你所在地的dns,比如“上海 dns”,照着搜索结果填进去就行了。

Ⅹ 如何获取局域网内设备IP地址和MAC地址

在家用路由器上,如果局域网是动态分配的地址,以TPlink为例,在“DHCP客户端”链接里可专以找到,如果是静态分配的属地址,在“静态地址分配”链接里可以找到。上述关键字在不同设备和版本上不尽相同,也不一定是一模一样的字样,有的在arp列表里。

在支持命令行的专业路由器上,用show arp或display arp可以查询到。
arp是所有路由器支持的协议,通过ip去查询mac地址,将三层报文在数据链路层上传输,路由器通过此协议周期性与局域网所有电脑交互信息,目的是确保路由器与电脑之间是否互通。

热点内容
线切割怎么导图 发布:2021-03-15 14:26:06 浏览:709
1台皮秒机器多少钱 发布:2021-03-15 14:25:49 浏览:623
焊接法兰如何根据口径配螺栓 发布:2021-03-15 14:24:39 浏览:883
印章雕刻机小型多少钱 发布:2021-03-15 14:22:33 浏览:395
切割机三五零木工貝片多少钱 发布:2021-03-15 14:22:30 浏览:432
加工盗砖片什么榉好 发布:2021-03-15 14:16:57 浏览:320
北洋机器局制造的银元什么样 发布:2021-03-15 14:16:52 浏览:662
未来小七机器人怎么更新 发布:2021-03-15 14:16:33 浏览:622
rexroth加工中心乱刀怎么自动调整 发布:2021-03-15 14:15:05 浏览:450
机械键盘的键帽怎么选 发布:2021-03-15 14:15:02 浏览:506