我需要从多个源 IP ping 一个 IP,并将结果写入文件或 HTML 页面以获取结果。我需要从所有 4 个 ping 中获取结果,包括 TTL 以及 4 个 ping 中有多少被丢弃以及 ping 时间。
我知道对于 IPv6,您可以在 ping 命令中使用 -S 触发器来指定源 IP,但是对于 IPv4 环境,您如何做到这一点。
设置:
Windows 2003 服务器 R2 标准 x64。.txt 文件包含我想用作源 IP 的 85 个 IPv4 地址 1 个目标 IPv4 地址将从一台中央服务器运行 将以管理员身份登录中央服务器
所需结果:显示按源 IP 结果分组的结果的 HTML 页面,包括所有 4 个 ping 回复时间、TTL、发送的总数据包、接收的总数据包和平均 ping 时间(以毫秒为单位)
现在让我把事情复杂一点。我所在的环境不允许我安装 Windows 2003 Server R2 标准 x64 正常安装中不包含的任何其他软件。自从编写 .bat 文件以来已经有很多年了,我对 .bat 文件的记忆力仍然很弱。所有 IP 地址都是 IPv4。虽然我确实有所有这些服务器的 FQDN,但我需要使用 IP(出于某种原因)
我有以下内容来创建所需的页面并从一个系统 ping 到多个系统,但剩下的就是我遇到问题的地方,因为我需要从多个到一个 ping,我的脚本给我的唯一结果是格式正确的 html 页面但是它只说 processing=done 我哪里出错了……请帮忙……</p>
谢谢
---编辑--- 通过将 ping 更改为 ping.exe 并将 %%i 放在引号中 - “%%i”现在我得到了结果,但不是我希望的好格式。它以 32 字节日期的 pining 127.0.0.1 格式给出结果:从 .... 回复,就好像只是输出到文本文件一样。我想做的是以表格格式显示它。已对以下代码进行了更改。
@echo off
echo ^<HTML^>^<HEAD^><TITLE^>SERVER PING INFO^</TITLE^>^</HEAD^> >>ping-results.html
echo ^<BODY GBCOLOR=#FFFFFF” TEXT=”#000000” LINK+#0000FF” VLINK=#800080”^> >>ping-results.html
echo ^<p align="center"^>^<table border="1" width="600"^> >>ping-results.html
echo ^<tr^>^<td^>^<B^>ping results^</td^> >> ping-results.html
for /F %%i in (c:\ping-results\serverIP.txt) do (
echo Processing %%i...
ping.exe "%%i" > "c:\ping-results\%%i.html" /format:htable.xsl
echo ^<tr^>^<td^>%%i^</td^> >> ping-results.html
echo ^<td^>^<a href="c:\ping-results\%%i.html"^>Results^</a^>^</td^> >> ping-results.html
echo ^</tr^> >> ping-results.html
)
echo ^<p align="center"^>^<b^>^<font size="+1" color="Red"^>^<BR^>Completed at >> ping-results.html time /T >> ping-results.html
echo - on >> ping-results.html
date /T >> ping-results.html
echo ^</font^>^</b^>^<BR^>^</p^> >> ping-results.html
echo.
echo DONE!!