通过IP和socket获取对方的MAC地址
来源:互联网 发布:mac光影 编辑:程序博客网 时间:2024/05/01 12:19
#include <netinet/if_ether.h>
/*
* FUNC: Get peer MAC address by socket built
* PARAM: ifname--network interface name; peerip--peer ip address; sockfd--socket ; buf--MAC address, buflen--buf size;
* RET: 0--OK; else--Fail
*/
int getpeermac(char *ifname, struct sockaddr_in *peerip, int sockfd, char *buf , int buflen)
{
int ret = -1;
struct arpreq arpreq;
if(ifname==NULL || peerip==NULL || buf==NULL)
return -1;
memset( &arpreq, 0, sizeof( struct arpreq ));
memcpy( &arpreq.arp_pa, peerip, sizeof( struct sockaddr_in ));
strcpy(arpreq.arp_dev, ifname);
arpreq.arp_pa.sa_family = AF_INET;
arpreq.arp_ha.sa_family = AF_UNSPEC;
if( ioctl( sockfd, SIOCGARP, &arpreq ) < 0 ) {
printf("ioctl SIOCGARP error from %s", ifname);
return -1;
}
else
{
unsigned char* ptr = (unsigned char *)arpreq.arp_ha.sa_data;
memcpy(buf, ptr, 6);
ret = 0;
}
return ret;
}
/*
* FUNC: Get peer MAC address by socket built
* PARAM: ifname--network interface name; peerip--peer ip address; sockfd--socket ; buf--MAC address, buflen--buf size;
* RET: 0--OK; else--Fail
*/
int getpeermac(char *ifname, struct sockaddr_in *peerip, int sockfd, char *buf , int buflen)
{
int ret = -1;
struct arpreq arpreq;
if(ifname==NULL || peerip==NULL || buf==NULL)
return -1;
memset( &arpreq, 0, sizeof( struct arpreq ));
memcpy( &arpreq.arp_pa, peerip, sizeof( struct sockaddr_in ));
strcpy(arpreq.arp_dev, ifname);
arpreq.arp_pa.sa_family = AF_INET;
arpreq.arp_ha.sa_family = AF_UNSPEC;
if( ioctl( sockfd, SIOCGARP, &arpreq ) < 0 ) {
printf("ioctl SIOCGARP error from %s", ifname);
return -1;
}
else
{
unsigned char* ptr = (unsigned char *)arpreq.arp_ha.sa_data;
memcpy(buf, ptr, 6);
ret = 0;
}
return ret;
}
0 0
- 通过IP和socket获取对方的MAC地址
- 通过IP或socket获取对方的MAC地址
- 通过IP或socket获取对方的MAC地址
- 通过IP或socket获取对方的MAC地址
- 通过IP或socket获取对方的MAC地址
- 通过IP或socket获取对方的MAC地址
- 通过IP地址获取对方MAC地址的命令
- 通过socket获取对方ip地址
- 通过对方的请求 获取对方的ip地址
- 如何通过对方IP地址查对方的MAC
- 通过网络socket获取对方 ip 和port
- 获取对方的mac地址
- 获取对方ip地址
- 通过QQ查看对方的ip地址
- 用SendARP()获取对方的MAC地址
- 通过socket获取ip地址
- nodejs 如何获取对方的IP地址
- 通过IP获取MAC地址
- 第四周__图的表示
- WPF TabControl控件禁止切换
- N-gram模型(基于词表)
- 解决eclipse更新安装插件慢的方法
- 你必有一样拿得出手?
- 通过IP和socket获取对方的MAC地址
- 小公司怎样招到技术型大神?
- 三星苹果好日子到头 智能机进入大众消费时代
- 面子的价值?
- KEIL编译错误信息
- 男人健身最佳年龄段
- “临时工”打死老人,城管能卸责?
- 浅谈Java泛型中的extends和super关键字
- OGG在Linux上的安装