标题: [网络连接] 获取局域网所有机器的MAC,电脑名称,IP地址信息 [打印本页]
作者: 司马光2008 时间: 2018-2-5 21:02 标题: 获取局域网所有机器的MAC,电脑名称,IP地址信息
本帖最后由 pcl_test 于 2018-3-29 08:44 编辑
我有一个批处理实现扫描局域网所有机器IP、MAC地址和计算机名 ,但是无法扫描到完整的信息,请帮忙看看是哪里的问题- @echo off&title 扫描MAC,IP,计算机名&color a&mode con: cols=60 lines=22
- setlocal enabledelayedexpansion
- echo.
- echo.
- :: iqp -> 内网IP的前3位,ip1 -> 起始ip,ip2 -> 结束ip
- set ipq=172.30.74
- set /a ip1=1
- set /a ip2=255
- set /a con=0
- set /a contotal=%ip2%-%ip1%+1
- echo MAC IP 计算机名 >info.txt
- for /l %%i in (!ip1!,1,!ip2!) do (
- set ip=!ipq!.%%i
- echo 扫描!ip!
- ping !ip! -n 1 -w 1 >nul
- if !errorlevel! equ 0 (
- for /f "tokens=1" %%j in ('nbtstat -a !ip! ^| find /i "UNIQUE" ^| find /i "00"') do set pcname=%%j
- for /f "tokens=4 delims=* " %%j in ('nbtstat -a !ip! ^| find /i "MAC Address"') do set mac=%%j
- echo !mac:~0,-1! !ip! !pcname! >>info.txt
- set /a con=!con!+1
- )
- )
- echo 共%con%条记录 >>info.txt
- echo 共扫描:%contotal%台机器,扫描到:%con%个有效记录&pause >nul
复制代码
作者: Batcher 时间: 2018-2-5 21:15
具体哪里不完整?举个例子吧
作者: 司马光2008 时间: 2018-2-6 22:18
两点不完整
(1)MAC地址收集不完整
(2)IP与电脑名称,MAC地址 对应不上
作者: hlzj88 时间: 2018-2-7 11:22
如下是我前期写的- @echo off&&setlocal enabledelayedexpansion
- title 快速获取局域网在线电脑的主机名ip地址及Mac地址
- echo 本工具需要sed.exe支持
- del /q IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html>nul 2>nul
- del /q *.ini>nul 2>nul
- arp -d
- net view>>test.ini
- findstr /i "\\" test.ini>>3.ini
-
- set p=0
- echo %date%%time%结果>IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html>nul 2>nul
- for /f %%i in (3.ini) do (
- set /a p+=1
- echo.>>IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html
- set ww=%%i
- set "ww=!ww:~2,20!"
- set "ww=!ww: =!"
- echo %%i
- echo ^<p^>第!p!台主机--》>>IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html
- ping -n 1 !ww!|findstr /i "pinging">>IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html || echo ^<font color^=blue^>!ww! ping 不通^</font^>>>IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html
- nbtstat -a !ww!|findstr /ic:"MAC Address">>IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html
- )
- echo 在线电脑共!p!台,任务结束!
- del /q *.ini>nul
- sed -i "s/Pinging/<b>/g;s/\] with 32 bytes of data://g;s/ Address = /地址 /g;s/\[/<\/b>的IP地址 /g" IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html
- chcp 936>nul
- start IP电脑名MAC%date:~0,4%%date:~5,2%%date:~8,2%.html
- ping /n 7 127.1>nul
复制代码
用到的sed在首页左下角。忙,顾不上给链接了。
作者: zjhahaha 时间: 2018-2-11 15:27
支持下,学习,学习。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |