社区
网络编程
帖子详情
怎样将存储在struct sockaddr中的ip地址转换成如"59.64.183.130"
yanzhi198635
2006-11-06 03:35:22
怎样将存储在struct sockaddr中的ip地址转换成如"59.64.183.130",另外想问一下winpcap中的pcap lookupnet()函数好用吗?我能用它查出掩码,但ip地址好象不对.
...全文
378
2
打赏
收藏
怎样将存储在struct sockaddr中的ip地址转换成如"59.64.183.130"
怎样将存储在struct sockaddr中的ip地址转换成如"59.64.183.130",另外想问一下winpcap中的pcap lookupnet()函数好用吗?我能用它查出掩码,但ip地址好象不对.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yanzhi198635
2006-11-06
打赏
举报
回复
好象不行哦.我想获得网卡的ip地址.程序如下:
#include <pcap.h>
pcap_if_t *FindNIC(char NICsettingname[2])
{
pcap_if_t *alldevs;
pcap_if_t *d;
FILE *fp;
int j,i=0,num;
char filename[10],logicalname[10],compare[10];
char error_content[PCAP_ERRBUF_SIZE];
char *name;
struct NICname /*网卡在文件中的存贮结构*/
{char real[10];
char setting[10];
}NIC[4];
//for(j=0;j<4;j++) /*在文件中初始化四个网卡*/
/* { printf("%d:",j+1);
scanf("%s%s",NIC[j].real,NIC[j].setting);
}
printf("please input the filename:");
scanf("%s",filename);
fp=fopen(filename,"w");
for(j=0;j<4;j++)
fwrite(&NIC[j],sizeof(struct NICname),1,fp);
fclose(fp);*/
if (pcap_findalldevs(&alldevs, error_content) == -1) /*获取网卡列表*/
{
printf("Error in pcap_findalldevs");
exit(1);
}
for(d=alldevs; d; d=d->next) /*找到所选网卡在网卡列表中的序号并返回该值*/
{
logicalname[0]=*(d->description);
logicalname[1]=*(d->description+1);
logicalname[2]=*(d->description+2);
fp=fopen("yanzhi","r");
for(j=0;j<4;j++)
{fread(&NIC[j],sizeof(struct NICname),1,fp);
if(NIC[j].real[0]==logicalname[0]&&NIC[j].real[1]==logicalname[1]&&NIC[j].real[2]==logicalname[2])
{name=NIC[j].setting;
compare[i]=NIC[j].setting[1];
}
}
i++;
fclose(fp);
}
for(i=0;i<4;i++)
if(compare[i]==NICsettingname[1])
num=i+1;
for(d=alldevs, i=0; i<num-1 ;d=d->next, i++);
return d;
pcap_freealldevs(alldevs);
}
void main()
{ pcap_if_t *d;
pcap_addr_t *a;
char *net_ip_string;
d=FindNIC("TA");
a=d->addresses;
net_ip_string=inet_ntoa(a->addr);?不知道怎么转换
printf("%s\n",net_ip_string);
}
star119119
2006-11-06
打赏
举报
回复
struct sockaddr addr;
inet_ntoa(addr.sin_addr.s_addr);
sock
add
r_in结构体详解
本文深入解析
sock
add
r_in结构体在IPv4
Sock
et编程
中
的作用,重点讲解inet_pton函数如何通过指针实现‘引用传递’修改内存值,并说明
struct
sock
add
r*类型转换的必要性,揭示
Sock
et API设计
中
对多协议支持的通用机制。
python
中
in用于表示什么结构_Python
中
如何解析
Struct
sock
add
r_in 这种复杂结构
博客主要介绍了Python
中
sock
et和
struct
模块对
IP地址
的转换操作,如inet_aton、unpack、pack等函数的使用,还阐述了网络地址和主机地址转换函数ntohl、htonl的作用,以及不同字节序(big - endian和little - endian)对
IP地址
转换的影响,同时对比了Python和MySQL
中
相关函数的差异。
linux网络编程--
sock
et编程(基本概念,转换操作,
sock
add
r)
本文详细介绍了Linux网络编程
中
的
sock
et接口,包括
sock
et的基本概念、特点,以及字节序转换操作,如网络序转主机序、主机序转网络序。此外,还探讨了
IP地址
转换,如点分十进制到网络序的转换,并讲解了
struct
sock
add
r_in等数据结构的使用。最后,讨论了主机名转换操作及其相关函数。
揭开unpv13e神秘面纱:核心函数与数据结构详解
本文深入剖析unpv13e(《UNIX网络编程》第3版配套源码)
中
的关键数据结构与函数:包括通用地址
存储
struct
sock
add
r_storage、接口信息
struct
if_nameindex、IP包信息
struct
unp_in_pktinfo;以及套接字地址处理、TCP/UDP连接建立、可靠I/O操作、错误与信号处理、多播控制等核心函数。所有组件均面向UNIX网络编程实践,提供跨平台、健壮易用的封装接口。
Linux网络套接字(
sock
et)
本文详细解读Linux网络套接字,包括其概念、
sock
et创建、bind、listen、accept和connect操作,以及关键函数如地址转换、nodelay和协议选择。涵盖了IPv4/IPV6、TCP/UDP协议,并提供实用的网络测试和优化技巧。
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章