设为首页 加入收藏

TOP

Linux下使用原始套接字实现ping 功能(二)
2014-11-24 07:46:16 来源: 作者: 【 】 浏览:4
Tags:Linux 使用 原始 套接字 实现 ping 功能
;

char* ipAddr;
ipAddr = GetIPAddress(m_wirelessNetworkDevice);
if(!IsValidIPAddress(ipAddr.toUtf8().constData()))
return false;
if ((sockfd = socket(PF_INET, SOCK_RAW, IPPROTO_ICMP)) == -1) //ICMP协议,原始套接字类型
{
err_sys("socket");
return false;
}
bzero(&dstaddr, sizeof(dstaddr));
dstaddr.sin_family = AF_INET;
dstaddr.sin_port = htons(0);
//printf("dest is %s\n",dest);
if (inet_pton(AF_INET, dest, &dstaddr.sin_addr) <= 0)
{
err_sys("inet_pton");
::close(sockfd);
return false;
}
ret = send_echo_req(sockfd, &dstaddr);
if (!ret)
{
::close(sockfd);
return false;
}
ret = recv_echo_reply(sockfd);
if (ret)
{
::close(sockfd);
return true;
}
else
{
::close(sockfd);
return false;
}


}


以上是Linux下的代码。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android与Ubuntu下的可执行文件互.. 下一篇Ubuntu 10.10 64Bit下编译Android..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ Lambda表达式保 (2025-12-26 05:49:45)
·C++ Lambda表达式的 (2025-12-26 05:49:42)
·深入浅出 C++ Lambda (2025-12-26 05:49:40)
·C语言指针从入门到基 (2025-12-26 05:21:36)
·【C语言指针初阶】C (2025-12-26 05:21:33)