我最近发现了此代码 ,这是Mike Muuss的原始ping源代码。

我想在C中使用类似的源代码 Windows机器上进行编译。

  • 是否值得(甚至可能)修改此源代码以便在Windows计算机上进行编译?

  • 还是有其他选择吗?

我不熟悉如何在Windows下伪造Berkeley风格的套接字和ICMP,所以我真的很想提出一些建议。

我知道那里写了几行,但是如果有人可以向我解释实现此目标的逐步过程,那就太好了。

  ask by Cajuu' translate from so

本文未有回复,本站智能推荐:

2回复

如何使用C套接字ping

编译器:Code :: Blocks(GNU GCC) 平台:Windows(x86) 包括:winsock.h winsock2.h(ws2_32也链接) 我目前正在尝试编写一个程序,该程序将读取包含IP地址列表的文本文件,并分别ping每个IP地址。 如果主机响
1回复

使用原始套接字的ping请求失败

我的程序将icmp请求发送到指定的主机。 我用tcpdump观看了网络,并且发送了数据包,但是我从未像ping命令那样收到答复。 我希望你能帮帮我 !
1回复

在C中使用icmp实现traceroute

我正在尝试使用icmp原始套接字通过构造适当的ip头和icmp头来实现traceroute。我使用的端口号是7,我已经计算了校验和。每次都会增加跳跃限制并发送数据包直到回复message包含类型0的echo回复。 当输入即argv[1]为"127.0.0.1" ,o / p为 但
2回复

为什么我的ICMP序列号不递增? (C套接字编程)

是否有人可以帮助我锻炼为什么我的ICMP序列号不会在每个请求上递增,当将其用作ping程序时,它将在每个ping上递增序列号。 还有人知道为什么我的往返时间显示为负数吗? 当这是ping程序时,这也可以正常工作。 请假定所有代码“有效”,为了方便阅读,我删除了一些代码。
3回复

如何从linux上的c中的icmp回复中提取mac地址

我试图在发送原始数据包后在交换环境中找出机器的mac地址。 我正在尝试实现traceroute命令。 我想知道何时收到ICMP超时消息,如何提取该机器的mac地址。 我是一个新的网络编程,所以很困惑什么socket调用将帮助我提取mac地址。 谢谢 。
4回复

C套接字发送UDP并处理来自路由器的ICMP答复

我正在尝试将UDP数据包发送到生存时间为1的路由器,然后收到ICMP时间超限答复。 到目前为止,我已经能够发送数据包,但是当我的程序进入执行的recv部分时,它只是挂起。 我对recvfrom进行了错误检查,但甚至没有做到这一点。 我的计算机正在接收请求。 我知道这是因为我在运行程序时运
1回复

通过非特权套接字在应用程序级别获取ICMP消息内容

是否可以通过Linux系统上的非特权套接字获取接收到的ICMP消息的内容? 我很想知道是否可以使用UDP DGRAM套接字, TCP STREAM套接字和/或ICMP DGRAM套接字来做到这一点。 TCP套接字 我知道AF_INET, SOCK_STREAM,IPPRO
1回复

需要帮助修复此C套接字ICMP程序

我有一个C程序,能够接收ICMP请求并显示它们,但是不会使用Wireshark发出任何ICMP请求本身。 我已经包含了必需的库,并且我正在使用省略的IP头文件和ICMP头文件。 任何帮助,将不胜感激。 请忽略随机的Printf语句,只是为了帮助我。 谢谢 **
2回复

C-recvfrom意外的结果

我有一个简单的代码来发送和接收ping之类的ICMP数据包,一切正常:我的数据包已发送,我收到了结果。 我在recvfrom结果中有问题,缓冲区中的ip dest / src不是服务器dest ip。 结果 但是随着真正的ping: TTL和ip不一样 码 初
1回复

C语言中简单的icmp traceroute实现

好的,因此我尝试使用讲师的资料编写简单的ICMP跟踪路由,这些资料是我想合并以实现目标的echo_request和icmp_receive程序,但这种方法行不通。 您可以在此处>此处<查看这些程序以及我包含在我的代码中的其他程序的代码 请记住,我是套接字编程的初学者。