如何打开一个UDP端口? [关闭]

Posted

技术标签:

【中文标题】如何打开一个UDP端口? [关闭]【英文标题】:How to open a UDP port? [closed] 【发布时间】:2015-03-21 22:33:28 【问题描述】:

我有一个任务,我需要编写一个在网络中打开端口的程序,然后我应该使用 nmap 或 netcat 检查该端口是否在另一台机器上打开。

好吧,我已经这样做了.. 但是我使用套接字进行了操作,我创建了一个套接字然后绑定并继续监听,这是我知道的唯一方法。有没有更好的办法 ?因为我的方式似乎不写.. 另外,为 TCP 打开一个端口与为 UDP 打开一个端口不同吗?

注意:我正在尝试弄清楚如何编写一个在 C/C++ 中打开端口的程序,但 Python 或 Java 也可以。

编辑:我对 TCP 很好,但仍然不知道如何为 UDP 打开端口。由于 UDP 中没有“监听”,我应该如何保持端口打开?我写了一个程序,为UDP创建一个套接字并绑定它,但是当我用nmap扫描它时,它说“打开/过滤”,我应该如何让它只打开?

【问题讨论】:

在您最初提出问题后修改其含义可能不是一个好主意。 【参考方案1】:

这是“打开”端口的正确方法。

如果某个端口正在侦听,则该端口称为“开放”。因此,根据定义,您需要侦听端口才能使其打开。

【讨论】:

嗯,这适用于 TCP,但对于 UDP,没有“监听”。所以我尝试发送和接收,nmap 说它是打开/过滤的。根据我读到的关于端口的信息,过滤 打开。还是总是为 UDP 过滤? @MoheTheDreamy 使用 UDP,您只需将套接字绑定到该端口即可侦听数据报。不确定扫描工具是否可以检测到开放的 UDP 端口。

以上是关于如何打开一个UDP端口? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

怎样用iptables打开udp端口

【udp】如何检测UDP端口的连通性

如何在linux中使用iptables打开UDP端口

强制路由器保持空闲 UDP 端口打开

怎么开启 TCP16000端口

如何使用相同的本地端口打开两个 udp 客户端套接字