一个端口的问题 我是用笨办法尝试去连接它如果连接成功肯定就是被占用着 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 连接成功怎么会被占用着呢,应该连接不成功,抛出异常才说明被占用着啊,如果连接成功那就可以用了,不是嘛。 正因为连接成功了,说明已经有程序在使用此端口啊,不然你能连接成功吗?(在你的程序没有绑定到此端口之前) 循环连接端口如果能连接上则说明本端口开放,如果抛出异常则说明没有开放! 有没有更好的方法啊,我觉得这样做比较累啊,抛出异常总让人感觉和难受,要等好久,累。 办法应该有。但要找到更累。 我想以下方法可能会更快,但不知道怎么实现它。==================高级TCP扫描技术 最基本的利用TCP扫描就是使用connect(),这个很容易实现,如果目标主机能够connect,就说明一个相应的端口打开。不过,这也是最原始和最先被防护工具拒绝的一种。 在高级的TCP扫描技术中主要利用TCP连接的三次握手特性来进行,也就是所谓的半开扫描。这些办法可以绕过一些防火墙,而得到防火墙后面的主机信息。当然,是在不被欺骗的情况下的。下面这些方法还有一个好处就是比较难于被记录,有的办法即使在用netstat命令上也根本显示不出来。 SYN 向远端主机某端口发送一个只有SYN标志位的TCP数据报,如果主机反馈一个SYN || ACK数据包,那么,这个主机正在监听该端口,如果反馈的是RST数据包,说明,主机没有监听该端口。在X-Scanner 上就有SYN的选择项。 ACK 发送一个只有ACK标志的TCP数据报给主机,如果主机反馈一个TCP RST数据报来,那么这个主机是存在的。 FIN 对某端口发送一个TCP FIN数据报给远端主机。如果主机没有任何反馈,那么这个主机是存在的,而且正在监听这个端口;主机反馈一个TCP RST回来,那么说明该主机是存在的,但是没有监听这个端口。 NULL 即发送一个没有任何标志位的TCP包,根据RFC793,如果目标主机的相应端口是关闭的话,应该发送回一个RST数据包。 FIN+URG+PUSH 向目标主机发送一个Fin、URG和PUSH分组,根据RFC793,如果目标主机的相应端口是关闭的,那么应该返回一个RST标志。 好技术,激人奋进啊,好好研究一下嘛,找出方法来。 是啊。你快研究吧。有成果了告诉我 :) 求助高手,devexpress的gridcontrol控件( 如何控制某列只能输入正数) 图片缩放到一定程度报错,求大神 GDI+绘图时如何减少cpu占用量? 关于用C#建立双链循环链表的问题。 怎样锁定对一个文件的修改,也就是说同一时间一个文件(比如txt)只能被一个程序使用? 急!!关于SqlDataSource ArrayList的问题,在线等 帮忙帮忙:datagrid删除模板列事件,如何获取操作行的其它列值呢? 如何在显示动态时间? C#控件数组 listview的remove问题 这段代码怎么写,急啊,在线等
在高级的TCP扫描技术中主要利用TCP连接的三次握手特性来进行,也就是所谓的半开扫描。这些办法可以绕过一些防火墙,而得到防火墙后面的主机信息。当然,是在不被欺骗的情况下的。下面这些方法还有一个好处就是比较难于被记录,有的办法即使在用netstat命令上也根本显示不出来。 SYN
向远端主机某端口发送一个只有SYN标志位的TCP数据报,如果主机反馈一个SYN || ACK数据包,那么,这个主机正在监听该端口,如果反馈的是RST数据包,说明,主机没有监听该端口。在X-Scanner 上就有SYN的选择项。 ACK
发送一个只有ACK标志的TCP数据报给主机,如果主机反馈一个TCP RST数据报来,那么这个主机是存在的。 FIN
对某端口发送一个TCP FIN数据报给远端主机。如果主机没有任何反馈,那么这个主机是存在的,而且正在监听这个端口;主机反馈一个TCP RST回来,那么说明该主机是存在的,但是没有监听这个端口。 NULL
即发送一个没有任何标志位的TCP包,根据RFC793,如果目标主机的相应端口是关闭的话,应该发送回一个RST数据包。 FIN+URG+PUSH
向目标主机发送一个Fin、URG和PUSH分组,根据RFC793,如果目标主机的相应端口是关闭的,那么应该返回一个RST标志。