LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 861|回复: 6

[提问]关于网络编程

[复制链接]
发表于 2007-8-9 14:25:48 | 显示全部楼层 |阅读模式
我想写一个这样的小程序:

就是利用这个程序可以得到远程主机是否打开了某个特定的端口……

我该怎么做呢?

给个思路就成了~谢谢哈~
 楼主| 发表于 2007-8-9 16:31:36 | 显示全部楼层
tcp 的端口可以用connect 来连接解决,看端口是否开放,可是UDP的怎么做呢??

是向目标主机发包吗??

如果是,那又怎么判断结果呢??

请大家帮帮忙啊~
回复 支持 反对

使用道具 举报

发表于 2007-8-9 17:13:55 | 显示全部楼层
如果icmp不可用的话,好像没办法判断udp端口是开或关。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-9 17:43:51 | 显示全部楼层
T_T

真的没有办法吗??????

5555555555555555555
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-10 08:38:00 | 显示全部楼层
如果icmp可用呢?
回复 支持 反对

使用道具 举报

发表于 2007-8-10 09:24:13 | 显示全部楼层
可用也不可靠。如果port是open或者被filtered,都不会有反应,你没法判断。判断一个端口是否是open的必须结合多种方法。你去看看nmap的文档,上面说的很明白。用connect()的做法应该是最低效的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-10 11:52:43 | 显示全部楼层
额~~

晓得了,那个不“UNREACH”的返回包 不一定会返回……

谢谢~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表