中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: DOS命令扫描网段的端口 上一主题 | 下一主题
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『楼 主』:  DOS命令扫描网段的端口

不需要任何工具,DOS命令扫描一个网段的全部端口!在Windows2000下开一个DOS窗口,然后执行 for /l %a in (1,1,254) do start /min /low telnet 192.168.0.%a 3389
  

这样192.168.0.x这个段的所有开放3389端口得主机都会暴露。

这条命令执行后,会在任务栏开254个小窗口。然后telnet链接失败的窗口会在大约5秒后自动退出,剩下的窗口就是相对应开放端口的主机了。

看一下小窗口的标题可以得知主机的ip地址,如果你觉得机器性能很好的话 可以把/low参数去了。

现在扫描一台主机的多个端口,如下


for /l %a in (1,1,65535) do start /low /min telnet 192.168.0.1%a
  

这样就扫描192.168.0.1的1到65535端口。

现在扫描一个网段的所有端口


for /l %a in (1,1,254) do for /l %b in (1,1,65535) do start /low/min telnet 192.168.0.%a %b
  

这样就会扫描192.168.0.x段的全部1到65535段口。

以上命令只能在Windows2000下使用,因为/l累加参数是Windows2000对for的扩展,当然WindowsXP和Windows.NET都可以用,WindowsME我没有试过,因为没有WindowsME的机器。

2007-10-13 19:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 2 楼』:  

问题是有没有办法让TELNET 不跳出窗口,并扫描端口呢? 期待有高手写出这样的BAT.

2007-10-13 19:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  

start命令的帮助,里面有一个/B参数。

2007-10-13 21:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 4 楼』:  

试了 telnet 71.95.7.199 80 >nul
echo %errorlevel%

不管IP是什么结果总是-1, 晕 ~~

看样子只好使用NMAP类似的工具了,但NMAP 的缺点是需要先安装WinPcap:
http://www.pcicp.com/tech/system ... 00090062d155_2.html

[ Last edited by uiopuiop on 2007-10-13 at 09:56 PM ]

2007-10-13 21:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 5 楼』:  端口扫描工具——Portqry

Portqry是命令行下用来解决传输控制协议/网际协议连通性问题的基本扫描工具,它基于Windows 2000 或者更高版本。很多IT 专业人员十分精通Telnet,用它来测试网络的畅通性和解决端口的。但是,Telnet在端口测试时有它的局限性。例如,它不能确定是否端口正被过滤,并且它不能像LDAP 或者RPC一样测试UPD 传输性。这正是Portqry值得在这里介绍的地方。使用Portqry可以解决微软公司Exchange Servers的基本传输控制协议/网际协议连通性。在有防火墙的环境里,也能使用Portqry 判断传输控制协议/网际协议的连通性。

下载地址
http://download.microsoft.com/do ... e09c9/PortQryV2.exe

正在写一个批处理,来扫描批量IP地址的端口。。。。。

@echo off
@portqry -n myserver.reskit.com -e %1 -p tcp -q

@if errorlevel = 2 goto end
@if errorlevel = 1 goto end
@if errorlevel = 0 goto success

:success
@Echo Port %1 is listening
goto end

:end

[ Last edited by uiopuiop on 2007-10-13 at 10:29 PM ]

2007-10-13 22:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
uiopuiop
中级用户





积分 400
发帖 211
注册 2007-9-30
状态 离线
『第 6 楼』:  还是老外先想到了

详解:
http://support.microsoft.com/kb/832919/zh-cn
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

FOR /F "eol=; tokens=1,2 delims=," %%I IN (machines.csv) DO CALL :PORT %%I %%J
GOTO END

:PORT
PortQry -n %1 -p TCP -e 135 -q -l "%2.log"

:END

~~~~~~~~machines.csv~~~~~~~~~~~~~~
10.1.0.11,HostName1
10.1.0.25,HostName2

[ Last edited by uiopuiop on 2007-10-13 at 10:46 PM ]

2007-10-13 22:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: