首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >netcat广播理解

netcat广播理解
EN

Unix & Linux用户
提问于 2021-10-09 15:28:56
回答 1查看 1.3K关注 0票数 0

我用的是macOS和gnu网猫。我想了解如何使用netcat广播消息。

我有个netcat在听4555

netcat -l -p 4555 192.168.0.101

但当我试图发送广播信息时

netcat 192.168.0.255 4555但是我一直在跟踪错误

Error: Couldn't create connection (err=-5): Permission denied

我得到了以下错误

Error: Couldn't create connection (err=-5): Permission denied

以下职位说使用netcat-traditional可以做到这一点,但是我正在运行GNU,在这里做这件事。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-10-14 19:14:55

试着说出要点:

  • TCP不适用于广播。您根本不能使用TCP连接到广播IP地址。默认情况下,netcat使用TCP,除非被告知使用UDP,这样的尝试会导致错误。
  • UDP广播需要设置一个标志,但GNU netcat不处理它。这就是如何通过setsockopt(2)运行BSD及其扩展。为了能够将数据包发送到广播IPv4地址(对于支持广播的协议),SO_BROADCAST是必须的。否则会触发错误。不包括字符串SO_BROADCAST的任何地方。

因此,GNU netcat不可能发送广播。你必须切换到另一个工具。或者是netcat的另一个变体(有多个版本),要么使用socat,它具有更多的特性。这里有一个关于使用socat用(多播和)广播的链接。它确实处理带有套接字的两边,比如(显然) GNU netcat的隧道模式。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/672545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档