如何使用本地C++检查远程UDP端口是否开放?由于UDP是无连接的,调用
平台是Linux。
connect()
没有帮助。我不能尝试绑定它,因为它不是本地的。 nmap
也不能指示(但是netstat
可以找到,但我认为它查看有关打开端口/文件的内部信息)。有没有办法检测它?如果我在网络层下降一层,是否可能通过C++发送ICMP消息来检查端口不可达状态?我的意思是,那会给出足够的端口状态信息吗?平台是Linux。
nmap
一样从你的 C++ 代码中使用libpcap
库。此外,如果你尝试nmap
的所有选项,即使在某些情况下不能百分之百确定端口是否开放或被过滤,至少也会得到一个指示。你使用了哪些netstat
和nmap
选项? - 0xC0000022L