C语言如何实现IP地址查询系统
发布网友
发布时间:2022-03-02 08:41
我来回答
共3个回答
热心网友
时间:2022-03-02 10:10
C语言如何实现IP地址查询系统
参考如下:
void GetNameAndIp()
{
struct hostent *host;
struct in_addr *ptr;
DWORD dwScope = RESOURCE_CONTEXT;
NETRESOURCE *NetResource = NULL;
HANDLE hEnum;
WNetOpenEnum(dwScope, NULL, NULL, NULL, &hEnum);
WSADATA wsaData;
WSAStartup(MAKEWORD(1, 1), &wsaData);
if (hEnum)
{
DWORD Count = 0xFFFFFFFF;
DWORD BufferSize = 10240;
LPVOID Buffer = new char[10240];
WNetEnumResource(hEnum, &Count, Buffer, &BufferSize);
NetResource = (NETRESOURCE*)Buffer;
char szHostName[200];
for (unsigned int i = 0; i < BufferSize / sizeof(NETRESOURCE); i++, NetResource++)
{
if (NetResource->dwUsage == RESOURCEUSAGE_CONTAINER && NetResource->dwType == RESOURCETYPE_ANY)
{
if (NetResource->lpRemoteName)
{
CString strFullName = NetResource->lpRemoteName;
if (0 == strFullName.Left(2).Compare(_T("\\\\")))
strFullName = strFullName.Right(strFullName.GetLength() - 2);
gethostname(szHostName, strlen(szHostName));
USES_CONVERSION;
char *pchar = T2A(strFullName);
host = gethostbyname(pchar);
if (host == NULL) continue;
ptr = (struct in_addr *) host->h_addr_list[0];
string str = "";
for (int n = 0; n<4; n++)
{
CString addr;
if (n > 0)
{
str += ".";
}
int value = (unsigned int)((unsigned char*)host->h_addr_list[0])[n];
char p[20];
sprintf(p, "%d", value);
str.append(p);
}
std::cout <<"IP:"<< str <<" Name:"<<host->h_name<< std::endl;
}
}
}
delete Buffer;
WNetCloseEnum(hEnum);
}
WSACleanup();
}
热心网友
时间:2022-03-02 11:28
gethostbyname()
gethostbyaddr()
自己查
热心网友
时间:2022-03-02 13:03
有点困难,我不懂
C语言如何实现IP地址查询系统
C语言如何实现IP地址查询系统参考如下:void GetNameAndIp(){struct hostent *host;struct in_addr *ptr;DWORD dwScope = RESOURCE_CONTEXT;NETRESOURCE *NetResource = NULL;HANDLE hEnum;WNetOpenEnum(dwScope, NULL, NULL, NULL, &hEnum);WSADATA wsaData;WSAStartup(MAKEWORD(1, 1), &wsaData);i...
ip动态 - StormProxies
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效地隐藏用户的真实IP地址,保护用户的隐私和安全。2. 快速响应:StormProxies的动态代理服务器具有快速响应的特点,可以快速响应用户的请求,提高用户的网络访问速度和效率。3. 高度可定制:StormProxies的动态代理服务器可以根据用户的需求进行定制,例如可以根据用户的地理位置、网络带宽、访问频率等因素进行定制。4. 多种协议支持:…StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球20...
C语言IP地址查询系统如何实现?
我觉得你这个需求,倒不一定非得用c语言来实现。你这个其实可以调用百度的插件,因为你在百度上输入这个IP地址的话,然后他就能查出来这个IP所在的位置,你可以用JAVA,然后调用百度的一些插件就能实现这个功能。
如何用C语言获得本机IP地址
struct in_addr addr; hostent *pHost = ::gethostbyname("localhost");//在此写入你自己电脑主机名字 switch (pHost->h_addrtype) { case AF_INET: printf("internet网络地址类型(AF_INET)\n"); break; case AF_INET6: printf("internet网络地址类型(AF_INET)\n"); ...
如何只用C语言,通过域名得到IP地址
include<stdio.h> //printf#include<string.h> //memset#include<stdlib.h> //for exit(0);#include<sys/socket.h>#include<errno.h> //For errno - the error number#include<netdb.h> //hostent#include<arpa/inet.h> int hostname_to_ip(char * , char *); int main(int argc ...
C语言 问题 C: IP地址的合法性检查?
if (NULL == ip || *ip == '.') { /*排除输入参数为NULL, 或者一个字符为'.'的字符串*/ return 0;} char *p = ip;while (*p) { if (*p == '.') { dots ++;if (setions >= 0 && setions <= 255) { /*检查ip是否合法*/ setions = 0;p++;continue;} return 0;}...
c语言以IP地址形式输出
ip地址是以xxx.xxx.xxx.xxx表示 而此程序则是将二进制转化为十进制,即将一个32位的数转换为十进制输出,先二进制数分为4个整体,每个整体有8个数,而其中的bin_dec()是将这个二进制数转换为十进制,且利用递归调用求出。下面是 for (i = 0; i < 8; i++){ if (a[i] == '1'){ ...
怎样通过C语言修改系统IP
define N 50 typedef struct { char eth[N], ip[N], netmasks[20], gw[N], dns[N], tag[N];}data;int main(){ data list[]= { { "本地连接","222.22.65.173", //IP地址 "255.255.255.128",//子网掩码 "222.22.65.129",//默认网关 "202.196.64.1",//首选DNS服务...
c语言判断IP地址是否有效,写了个一直有问题,求详细代码
include <stdio.h> int checkIP(const char* p){ int n[4]; char c[4]; if (sscanf(p, "%d%c%d%c%d%c%d%c", &n[0], &c[0], &n[1], &c[1], &n[2], &c[2], &n[3], &c[3]) == 7) { int i; for(i = 0; i < 3; ++i) if...
查询Linux下用C语言查询网卡信息linuxc网卡信息
首先,我们需要准备以下的开发环境:Linux系统、编译器(如:GCC)、C语言库。环境准备完毕后,我们就可以着手编程了。在开发中,我们需要用到Linux下两个函数:`ioctl`和`ifconf`。`ioctl`函数可以帮助我们获取网卡的详细信息,而`ifconf`函数则用于设置IP地址。具体的操作步骤为:1. 使用`ioctl`函数从...
怎么用C语言去设置本地IP地址
include <iostream>using namespace std;#include <stdio.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <errno.h>#include <string.h>#include <stdlib.h>void setIPv4(char * ip,char * gw,char * netmask){char cmd[128];//network interfacechar ...