获取局域网内所有用户和IP

时间:2022-04-22
本文章向大家介绍获取局域网内所有用户和IP,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
@echo off&setlocal enabledelayedexpansion
title 获取局域网内所有用户
echo        winxp 英文版系统可能会出现错误  用于支持net view 命令的计算机
echo.
echo                         用于没有开防火墙的计算机!
net view>%temp%users.txt
find /c " " %temp%users.txt>%temp%number.txt
for /f "tokens=3 delims=:" %%i in (%temp%number.txt) do set number=%%i
echo.
echo.
echo                           总共有%number%台电脑 
echo.
echo --------------------------------------------------
nbtstat -s |find "IP">%temp%localip.txt
for /f "tokens=4" %%i in (%temp%localip.txt) do set IP=%%i
echo 本机为: 
hostname 
echo IP为: %IP%
echo --------------------------------------------------
echo.
echo 其他用户有:
echo.
for /f "eol=命 skip=3 tokens=1,2,3 delims= " %%i in (%temp%users.txt) do (echo %%i&ping -n 1 %%i>nul&nbtstat -a %%i|find "MAC">>%temp%mac.txt)
for /f "tokens=4 delims= " %%i in (%temp%mac.txt) do (arp -a |find /i "%%i" >>%temp%ip.txt)
echo -------------------------------------------------
echo.
echo 正在获取用户对应的IP地址...请耐心等待...
echo.
echo.
for /f "tokens=1 delims= " %%i in (%temp%ip.txt) do (ping -a -n 1 %%i>>%temp%user.txt)
type %temp%user.txt|find /i "正在 Ping">>%temp%over.txt
for /f "tokens=3,4 delims= " %%i in (%temp%over.txt) do echo 用户: %%i        IP地址: %%j
echo.
echo ok!
del /q %temp%users.txt
del /q %temp%ip.txt
del /q %temp%mac.txt
del /q %temp%user.txt
del /q %temp%over.txt
del /q %temp%number.txt
del /q %temp%localip.txt
pause>nul
exit
                  ::这个应该很简单吧

保存以上代码到 获取局域网内所有用户和IP.bat 运行即可