你能在接收者不可见的情况下发送数据包吗?

Posted

技术标签:

【中文标题】你能在接收者不可见的情况下发送数据包吗?【英文标题】:Can you send a packet without being visible to the receiver? 【发布时间】:2020-12-17 20:38:47 【问题描述】:

您能否在没有 IP 地址或位置对接收器可见的情况下向 UDP 接收器发送数据?

【问题讨论】:

除非您希望他们能够响应,否则您不需要包含您的 IP 地址。您可以欺骗数据包中的任何信息;您只需要接受所做更改的后果。 请注意,由于中间设备(例如交换机)看到了数据包,因此足够先进的攻击者可能能够弄清楚发生了什么。随着沿相同或相似路线发送更多数据包,这变得更容易 【参考方案1】:

是的。可以使用raw socket 创建和发送带有欺骗性 IP 地址的 UDP 数据包。

原始套接字允许应用程序创建自己的 IP 标头,包括源地址字段。看看你用什么语言写的例子。

但是,创建和发送这样的数据包并不意味着到达接收方的网络实际上会传递它。一些网络采用Reverse path forwarding 之类的防御措施来防范IP spoofing。 CAIDA 有一个research project 用于测试全球网络中的 IP 欺骗,您可以找到最新报告 here。

【讨论】:

以上是关于你能在接收者不可见的情况下发送数据包吗?的主要内容,如果未能解决你的问题,请参考以下文章

可以使用 ***Service 实现来捕获和发送数据包吗?

Java ServerSocket 和使用 ObjectIOStreams 的套接字会丢失数据包吗?

我们可以抓到flex的HTTPservice的数据包吗

如何让手机APP接收蓝牙模块发送的数据并显示出来

TCP可靠传输

HLSDK系列服务端 AddToFullPack 函数