Board logo

标题: [网络连接] [已解决]批量ping的批处理怎样查看端口是否开放? [打印本页]

作者: jazstar    时间: 2010-12-22 14:15     标题: [已解决]批量ping的批处理怎样查看端口是否开放?

菜鸟自己做的批量ping的代码,ping不通的自动忽略,求改!!
  1. @echo off
  2. del last.txt
  3. echo ----------------------------------------------------------------
  4. echo 格式为            *.*.*.*
  5. set /p aa=请输入开始值:
  6. echo ~~~~~~~~~~注意:前三个输入的数字应该与刚才的一样~~~~~~~~~~~
  7. set /p bb=请输入结束值:
  8. ping -n 1 %aa% |findstr "Reply" >>last.txt
  9. for /f "delims=.  tokens=4" %%i in ("%aa%") do set a=%%i
  10. for /f "delims=.  tokens=4" %%i in ("%bb%") do set b=%%i
  11. :start
  12. set /a a+=1
  13. for /f "delims=. tokens=1,2,3" %%i in ("%aa%") do set c=%%i.%%j.%%k.%a%
  14. ping -n 1 %c% |findstr "Reply" >>last.txt
  15. if "%a%"=="%b%" goto end
  16. goto start
  17. :end
  18. pause
复制代码
还有2个批处理是接着上面来的,对上面的结果进行的过滤:
第一次过滤:
  1. del ip.txt
  2. for /f "delims=:" %%i in (last.txt) do echo %%i >>ip.txt
复制代码
第二次过滤:
  1. del lastip.txt
  2. for /f "tokens=3" %%i in (ip.txt) do echo %%i >>lastip.txt
复制代码
本人第一次学做的批处理,求指点^^!

[ 本帖最后由 jazstar 于 2010-12-22 19:23 编辑 ]
作者: Batcher    时间: 2010-12-22 14:17

求改?你希望改哪里?
作者: jazstar    时间: 2010-12-22 14:22

恩,是的,忘记说了,我想的求教是:怎样可以在里面添加一些代码,可以实现查看端口是否开放?
这样,好像一个ping命令就可以知道哪些机子的某个端口开放了还是关闭了!
谢谢2楼提醒
作者: Batcher    时间: 2010-12-22 15:55     标题: 回复 3楼 的帖子

请把所有的需求全部更新到顶楼
作者: hanyeguxing    时间: 2010-12-22 17:01

1,ping  ip和目标机器是否在线没有必然的关系,因为目标机器很可能做了ip安全策略以禁止被ping
2,单独一个ping命令是不能查看远程机器所有端口的。
3,如果想查看远程机器的 TCP 端口和用户数据报协议 (UDP) 端口的状态,可以使用微软的命令行工具:PortQry Command Line Port Scanner 2.0
http://support.microsoft.com/kb/832919/zh-cn

[ 本帖最后由 hanyeguxing 于 2010-12-22 17:05 编辑 ]
作者: jazstar    时间: 2010-12-22 19:24

谢谢四楼为我解惑,我还一直以为ping可以扫描端口呢,呵呵!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2