![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 00:56 |
共 48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » DOS命令扫描网段的端口 |
| 可打印版本 1,198 / 5 |
| 第1楼 uiopuiop | 发表于 2007-10-13 19:52 |
| 中级用户 发帖 211 积分 400 | |
|
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的机器。 |
|
| 第2楼 uiopuiop | 发表于 2007-10-13 19:53 |
| 中级用户 发帖 211 积分 400 | |
|
问题是有没有办法让TELNET 不跳出窗口,并扫描端口呢? 期待有高手写出这样的BAT.
|
|
| 第3楼 lxmxn | 发表于 2007-10-13 21:14 |
| 版主 发帖 4,938 积分 11,386 | |
|
看start命令的帮助,里面有一个/B参数。
|
|
| 第4楼 uiopuiop | 发表于 2007-10-13 21:54 |
| 中级用户 发帖 211 积分 400 | |
|
试了 telnet 71.95.7.199 80 >nul
echo %errorlevel% 不管IP是什么结果总是-1, 晕 ~~ 看样子只好使用NMAP类似的工具了,但NMAP 的缺点是需要先安装WinPcap: http://www.pcicp.com/tech/systemsafety/SysLoophole/2004-11-10/1100090062d155_2.html [ Last edited by uiopuiop on 2007-10-13 at 09:56 PM ] |
|
| 第5楼 uiopuiop | 发表于 2007-10-13 22:16 |
| 中级用户 发帖 211 积分 400 | |
|
端口扫描工具——Portqry Portqry是命令行下用来解决传输控制协议/网际协议连通性问题的基本扫描工具,它基于Windows 2000 或者更高版本。很多IT 专业人员十分精通Telnet,用它来测试网络的畅通性和解决端口的。但是,Telnet在端口测试时有它的局限性。例如,它不能确定是否端口正被过滤,并且它不能像LDAP 或者RPC一样测试UPD 传输性。这正是Portqry值得在这里介绍的地方。使用Portqry可以解决微软公司Exchange Servers的基本传输控制协议/网际协议连通性。在有防火墙的环境里,也能使用Portqry 判断传输控制协议/网际协议的连通性。
下载地址 http://download.microsoft.com/download/0/d/9/0d9d81cf-4ef2-4aa5-8cea-95a935ee09c9/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 ] |
|
| 第6楼 uiopuiop | 发表于 2007-10-13 22:20 |
| 中级用户 发帖 211 积分 400 | |
|
还是老外先想到了 详解:
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 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |