我在学习网络方面的知识。我想通过ICMP协议传输文件,然后通过wireshark捕获网络流量来解码原始数据。但是我不知道如何通过ICMP协议传输文件。所以我的问题是如何通过ICMP在主机之间传输文件。非常感谢。
发布于 2017-08-02 07:43:19
如果您坚持使用ICMP发送数据(这在某些用例中是合理的),我建议您阅读this article和that one。第一个还包含用于使用ICMP传输数据的客户端和服务器的概念验证C代码。您可以找到另一个示例written in C++ here。
此方法背后的思想是使用ICMP Echo (ping)请求和响应的数据(有效负载)部分来传输数据(或本例中的文件)。大多数设备都会响应ICMP Echo (ping)请求,因此它是在其他协议(如ssh、smb、ftp等)时传输文件的一种方式。都被屏蔽了。
发布于 2017-03-02 19:34:46
如果您学习TCP/IP层,您会发现ICMP是一种互联网层协议,其目的是:
因特网控制消息协议(
)是因特网协议族中的一种支持协议。网络设备(如路由器)使用它发送错误消息和操作信息。
因此,ICMP不是HTTP或FTP等数据传输协议。从技术上讲,使用ICMP作为数据传输协议在任何情况下都是不可能的,除非您改变ICMP的结构和所有编码,然后它将不再是ICMP。
https://stackoverflow.com/questions/42546097
复制相似问题