Tool - ArpScanner - Hosts im Subnet ermitteln mit 100 Prozent erfolg - Only private net - 10 Sec.... Update 7
26.08.2007
01:21:47 Uhr12692 Aufrufe
42 Antworten
01:21:47 Uhr
42 Antworten
Hilfreich +1
Arp-Mapping
01.
@Echo off & Color 0A & Setlocal 02.
Title Lowbyte 03.
04.
REM ~~~~~~~ 05.
for /L %%q in (1,1,15) do call :demo 06.
cls 07.
echo. 08.
echo. 09.
echo. 10.
echo. 11.
echo. 12.
echo. 13.
echo. ) LOADING 14.
echo. 15.
echo. 16.
echo. 17.
ping -n 3 localhost>nul & endlocal & setlocal 18.
CLS 19.
Title MP-ARP sweeper 20.
goto :MainC 21.
22.
23.
:demo 24.
cls 25.
echo. 26.
echo. 27.
echo. 28.
echo. %random% 29.
echo. %random% 30.
echo. %random% 31.
echo. ) LOWBYTE 32.
echo. %random% 33.
echo. %random% 34.
echo. %random% 35.
ping -n 1 localhost>nul 36.
goto :eof 37.
38.
:MainC 39.
REM ~~~~~~~ 40.
41.
42.
:RE 43.
44.
Echo.________________________________________________________________________ 45.
Echo. 46.
Echo. MP_ARP sweeper 1.45 47.
Echo.________________________________________________________________________ 48.
Echo. 49.
Echo. 50.
Echo.Die ersten 3 Oktette der Address Range angeben ... 51.
Echo. 52.
Echo.Syntax ( 172.16.3 ) -255) 53.
Echo. 54.
Echo.Input: & set /P A= 55.
56.
Set TMEM=%SYSTEMROOT%\TEMP\ 57.
PUSHD %TMEM% 58.
59.
for /L %%r in (16,1,32) do if %A:~0,6% == 172.%%r goto:go_main 60.
for /L %%m in (1,1,255) do if %A:~0,4% == 10.%%m goto:go_main 61.
if %A:~0,7% == 192.168 goto:go_main 62.
63.
if exist messg1.vbs ( 64.
65.
goto:Jumpx 66.
67.
) else ( 68.
69.
Echo msgbox"Only Private Class C Network",vbCritical , "Only Private-net"> messg1.vbs 70.
71.
) 72.
73.
:Jumpx 74.
75.
start messg1.vbs 76.
CLS 77.
78.
goto:RE 79.
80.
:go_main 81.
82.
83.
84.
CLS 85.
Echo. 86.
Echo.Die Range %A%.1 - %A%.255 wird gescannt .. 87.
Echo. 88.
Ping -n 2 localhost>NUL 89.
90.
ipconfig | findstr "Standardgateway" > sgw.txt 91.
if %ERRORLEVEL%==1 ( 92.
ipconfig | findstr "Default Gateway" > sgw.txt 93.
) 94.
for /F "delims=" %%p in (sgw.txt) do @set VARGW=%%p 95.
set SGW=%VARGW:~44,56% 96.
@Ping -n 1 -w 50 %SGW%>NUL 97.
@Arp -d 98.
99.
For /L %%i in (1,1,255) do Echo ping -n 1 -l 0 -f -i 2 -w 1 %A%.%%i>nul >> threads%%i.cmd 100.
For /L %%y in (1,1,255) do Echo.Exit >> threads%%y.cmd 101.
102.
Echo For /L %%%%z in (26,1,50) do Start /HIGH /B threads%%%%z.cmd>NUL >> threadpool_id1.cmd & Echo.Exit >> threadpool_id1.cmd 103.
Echo For /L %%%%w in (1,1,25) do Start /HIGH /B threads%%%%w.cmd>NUL >> threadpool_id2.cmd & Echo.Exit >> threadpool_id2.cmd 104.
Echo For /L %%%%x in (76,1,100) do Start /HIGH /B threads%%%%x.cmd>NUL >> threadpool_id3.cmd & Echo.Exit >> threadpool_id3.cmd 105.
Echo For /L %%%%u in (51,1,75) do Start /HIGH /B threads%%%%u.cmd>NUL >> threadpool_id4.cmd & Echo.Exit >> threadpool_id4.cmd 106.
Echo For /L %%%%q in (126,1,150) do Start /HIGH /B threads%%%%q.cmd>NUL >> threadpool_id5.cmd & Echo.Exit >> threadpool_id5.cmd 107.
Echo For /L %%%%d in (101,1,125) do Start /HIGH /B threads%%%%d.cmd>NUL >> threadpool_id6.cmd & Echo.Exit >> threadpool_id6.cmd 108.
Echo For /L %%%%h in (175,1,200) do Start /HIGH /B threads%%%%h.cmd>NUL >> threadpool_id7.cmd & Echo.Exit >> threadpool_id7.cmd 109.
Echo For /L %%%%t in (151,1,175) do Start /HIGH /B threads%%%%t.cmd>NUL >> threadpool_id8.cmd & Echo.Exit >> threadpool_id8.cmd 110.
Echo For /L %%%%s in (226,1,255) do Start /HIGH /B threads%%%%s.cmd>NUL >> threadpool_id9.cmd & Echo.Exit >> threadpool_id9.cmd 111.
Echo For /L %%%%r in (201,1,225) do Start /HIGH /B threads%%%%r.cmd>NUL >> threadpool_id10.cmd & Echo.Exit >> threadpool_id10.cmd 112.
113.
114.
For /L %%b in (1,1,10) do Start /HIGH /B /I threadpool_id%%b.cmd >NUL & Echo. & Echo.Subnet zu %%b0%% Prozent gescannt .. & Ping -n 1 -w 100 localhost>NUL & CLS & Echo. & Echo. 115.
Ping -n 2 -w 1 localhost>NUL 116.
117.
POPD 118.
119.
120.
Ping -n 1 localhost>NUL && arp -a >> arpcache.txt 121.
122.
type arpcache.txt | findstr "statisch">> arp_req.txt 123.
if %ERRORLEVEL%==1 ( 124.
type arpcache.txt | findstr "static">> arp_req.txt 125.
) 126.
type arpcache.txt | findstr "dynamisch">> arp_req.txt 127.
if %ERRORLEVEL%==1 ( 128.
type arpcache.txt | findstr "dynamic">> arp_req.txt 129.
) 130.
131.
CLS & echo. & echo. & echo. 132.
133.
Echo.Scannvorgang der Ip-Range %A%.1 - %A%.255 ist abgeschlossen .. 134.
135.
Echo. & Echo. & Echo. 136.
137.
Ipconfig | findstr "IP-Adresse"> LocalIP.txt 138.
if %ERRORLEVEL%==1 ( 139.
Ipconfig | findstr "IP Address"> LocalIP.txt 140.
) 141.
For /F "delims=" %%k in (LocalIP.txt) do @set "Pvar=%%k" 142.
Set request=%Pvar:~44,60% 143.
Echo. %request% -UP- Localhost 144.
145.
For /F "tokens=1,2" %%i in (arp_req.txt) do call :ProcessLine "%%i" "%%j" 146.
Echo. 147.
Echo. 148.
Echo. 149.
Echo. 150.
Echo. 151.
Echo.All Activ Hosts im Subnet .. 152.
Echo. 153.
Echo. 154.
Echo. 155.
Echo.Output saving ?..y/n 156.
157.
Set /P NOYES= 158.
if y == %NOYES% goto:c_logf 159.
if Y == %NOYES% goto:c_logf 160.
161.
:ret_log 162.
163.
PUSHD %TMEM% 164.
if exist sgw.txt erase sgw.txt 165.
for /L %%i in (1,1,255) do if exist threads%%i.cmd erase threads%%i.cmd 166.
for /L %%l in (1,1,10) do if exist threadpool_id%%l.cmd erase threadpool_id%%l.cmd 167.
POPD 168.
if exist arpcache.txt erase arpcache.txt 169.
if exist arp_req.txt erase arp_req.txt 170.
if exist LocalIP.txt erase LocalIP.txt 171.
if exist messg1.vbs erase messg1.vbs 172.
Title MP-ARP sweeper 173.
174.
ENDLOCAL && CLS 175.
176.
goto:RE 177.
178.
:c_logf 179.
180.
Echo.Scan .. vom ## DATE:%DATE% ## Time:%TIME% ## >> Logfile.log 181.
Echo. >> Logfile.log 182.
Echo. %request% -UP- Localhost >> Logfile.log 183.
For /F "tokens=1,2" %%d in (arp_req.txt) do call :ProcessLine "%%d" "%%e" >> Logfile.log 184.
Echo. >> Logfile.log 185.
Echo. >> Logfile.log 186.
Echo. & Echo. & Echo. >> Logfile.log 187.
Echo.All activ Host's im Subnet .. >> Logfile.log 188.
Echo. & Echo. & Echo. >> Logfile.log 189.
CLS 190.
Echo. 191.
Echo. Output wurde im Logfile gespeichert ... 192.
ping -n 3 localhost>nul 193.
194.
goto:ret_log 195.
196.
:ProcessLine 197.
198.
set "sss=%~2%" 199.
set "var=%sss:~0,8%" 200.
set "VE=not found" 201.
for /f "tokens=2*" %%c in ('findstr /i "%var%" IEEEMACLIST.txt') do set "VE=%%d" 202.
Echo. %~1 -UP- MAC = %~2 - %VE% 203.
goto :eof 204.
205.
206.
REM # lowbyte # 207.
208.
209.
Bevor der Pc in einem Lan verbindung zu einem Gerät-Pc im subnet herstellt, löst der Kernel ein Arp anfrage aus, sofern er die Daten nicht schon in seinem ARP-cache hat.
Dieser Cache speichert solche Ip und Mac Adressen über ein Zeitraum der vom Kernel des jeweiligen Betriebsystems festgelegt ist.
Erst wenn ein ARP REPLY eintrifft und er es gespeichert hat in seinem ARP-cache dann weiss er mit welcher Machine er sich im Netzwerk verbinden muss.
Auf weitere details des Arp-protokoll möchte ich nicht eingehen.
Die Arp-sweeps verspechen 100 Prozent erfolg, den Ping könnte durch eine Firewall blockiert werden =ICMP Typ 0 code 8 und damit die ausgabe fälschen.
Mit meinem Programm sende ich ein Ping packet, aber statdessen das ich die Ausgabe der Ping.exe auswerte,werte ich den Arp-cache aus. Wenn dort die Ip + Mac gespeichert ist kann man sicher sein das der host UP ist.
Das ganze nennt man Arp mapping.
Und nicht vergessen Arp funktioniert immer ...weil es sozusagen das rückrad von von Ethernet ist.
Anders gesagt ohne Arp geht nichts! Da im Lan mit Mac adressen gearbeitet wird!
Oder man müsste allen Host's im Lan eine Statische Ip zuweisen. Und jeweils bei allen machinen die Ip + Mac im Arp Cache von allen Stationen im Lan eintragen.
Example:
(Arp Cache)(arp -s 172.16.0.1 00-23-23-23-23-23)
es gibt nur eins 0 or 1 [lowbyte]
gnarff schreibt am 26.08.2007 um 03:07:11 Uhr
ich wil nicht sagen das ich der erste bin
der sowas macht im gegenteil es geht ja in
erster linie ums prinzip.
Bin es aber wohl...
Deine Orthographie ist unter aller Sau - das muss ich jetzt mal so sagen.
Mit Nmap kannst Du auch Pingsweeps ausfuehren oder mit Ping Sweep von SolarWinds.
saludos
gnarff
drumhammer schreibt am 19.09.2007 um 07:46:47 Uhr
Ich finde den Beitrag recht gut. Rechtschreibfehler hin oder her, hat jeder mal.
Ein interessantes Programm, jetzt sieht man auch mal was hinter den Tools steckt. Allerdings werde ich das wohl nie verstehen.
MFG
Ein interessantes Programm, jetzt sieht man auch mal was hinter den Tools steckt. Allerdings werde ich das wohl nie verstehen.
MFG
lowbyte1 schreibt am 28.10.2007 um 11:47:16 Uhr
hallo Freaks
An alle die es Intressiert ...
Da der alte Script ein wenig mit der Laufzeit zu kämpfen hatte, dachte ich, ich schreibe ihn um.Ich habe das ganze mit sogenannten (virtuellen treaths) unter Batch gemacht.
Ich scanne damit 255 Ip's in weniger als 15 Sec.
Im gegensatz zum anderen Script der es nicht unter 3 Min. erledigte.
Und der Bug, mit falschen oder doppelten Adressen ist somit auch behoben.
Der Source Code habe ich oben ersetzt...
es gibt nur eins '0 or 1' [lowbyte]
An alle die es Intressiert ...
Da der alte Script ein wenig mit der Laufzeit zu kämpfen hatte, dachte ich, ich schreibe ihn um.Ich habe das ganze mit sogenannten (virtuellen treaths) unter Batch gemacht.
Ich scanne damit 255 Ip's in weniger als 15 Sec.
Im gegensatz zum anderen Script der es nicht unter 3 Min. erledigte.
Und der Bug, mit falschen oder doppelten Adressen ist somit auch behoben.
Der Source Code habe ich oben ersetzt...
es gibt nur eins '0 or 1' [lowbyte]
gnarff schreibt am 29.10.2007 um 15:17:38 Uhr
Da die Abfrage zur Logfile erstellung im
Code ein Bug hat
funktioniert sie nicht !!
Habe es bereits angepasst ..
Oben in der Source wurde der Bug behoben
Dann kann ich das ja mal im Laufe der Woche ausprobieren...Oben in der Source wurde der Bug behoben
saludos
gnarff
lowbyte1 schreibt am 29.10.2007 um 22:12:35 Uhr
helo
{ Da die Abfrage zur Logfile erstellung im
Code ein Bug hat
funktioniert sie nicht !!
Deswegen schrieb ich, ich sei gespannt... }
hehe das habe ich schon gedacht ...
Ich bin jetzt an einer Vers. die das in ca. 10 Sekunden verarbeiten wird !
Auserdem wird das Design ein wenig anders.
Dan wären wir bei Update 5
greetz lowbyte
{ Da die Abfrage zur Logfile erstellung im
Code ein Bug hat
funktioniert sie nicht !!
Deswegen schrieb ich, ich sei gespannt... }
hehe das habe ich schon gedacht ...
Ich bin jetzt an einer Vers. die das in ca. 10 Sekunden verarbeiten wird !
Auserdem wird das Design ein wenig anders.
Dan wären wir bei Update 5
greetz lowbyte
lowbyte1 schreibt am 30.10.2007 um 03:55:06 Uhr
helo
Nun ist die Vers. 1.30 da
Speed finde ich geil ... und das mit Batch.
und keine konsequenzen auf die ARP Requests haben.)
Der neue Source-Code 1.30 werde ich jetz oben ersetzen.
cyu lowbyte
Nun ist die Vers. 1.30 da
- Perfomance Update _-> 10sec. - 12sec
Speed finde ich geil ... und das mit Batch.
- Style angepasst
- Time Limite für Rückmeldung entfernt...
und keine konsequenzen auf die ARP Requests haben.)
Der neue Source-Code 1.30 werde ich jetz oben ersetzen.
cyu lowbyte
miniversum schreibt am 14.01.2008 um 15:50:03 Uhr
Bei mir kommt ne unschöne Fehlermeldung:"FINDSTR: IEEEMACLIST.txt kann nicht geöffnet werden.".
Könntst Du vielleicht mit nem if exist abfangen...
miniversum
Könntst Du vielleicht mit nem if exist abfangen...
miniversum
lowbyte1 schreibt am 15.01.2008 um 06:56:02 Uhr
AN ALLE
helo miniversum
du kannst die liste downloaden. !
unter : standards.ieee.org/regauth/oui/oui.txt
dann die datei in IEEEMACLIST.txt umbenennen, und ins selbe verzeichnis wie die batch stecken.
dann funktioniert der script wie er sollte.
wen alles funktioniert sollte es dir beim output den hersteller der nic auch anzeigen.
lowbyte
miniversum schreibt am 15.01.2008 um 16:49:28 Uhr
Ichhab bei mir jetzt einfach ein If exist eingebaut udn gut ist. Wenn die Datei da ist gehts wie es soll.
miniversum
miniversum
miniversum schreibt am 04.09.2008 um 16:03:21 Uhr
Wenn Du beim Code oben auf "Quelltext" klickst hast dus schon.
Snowman25 schreibt am 23.02.2010 um 10:03:55 Uhr
Hi lowbyte1,
'n ganz nettes Feature wäre noch, IP-Range und Logfile per Übergabeparameter anzugeben.
Ausserdem weiss ich nicht, ob das so stimmt, aber als Endergebnis bekomme ich in meinem Netz folgendes heraus:
Gruß
Snow
'n ganz nettes Feature wäre noch, IP-Range und Logfile per Übergabeparameter anzugeben.
Ausserdem weiss ich nicht, ob das so stimmt, aber als Endergebnis bekomme ich in meinem Netz folgendes heraus:
Scan .. vom ## DATE:23.02.2010 ## Time:10:01:54.09 ## ~44,60 -UP- Localhost All activ Host's im Subnet .. Gruß
Snow
lowbyte1 schreibt am 23.02.2010 um 18:48:27 Uhr
HI Snowman
Ich würde das ganze mal debugen. Wen du Vista benutz kan es sein das zum bsp. arp -d oder andere Befehle nicht richtig ausgeführt weredn können.
Die batch würde auf Xp optimiert !. Darum kann ich nichts versprechen, für andere Windows Versionen.
lowbyte
Ich würde das ganze mal debugen. Wen du Vista benutz kan es sein das zum bsp. arp -d oder andere Befehle nicht richtig ausgeführt weredn können.
Die batch würde auf Xp optimiert !. Darum kann ich nichts versprechen, für andere Windows Versionen.
lowbyte
miniversum schreibt am 23.02.2010 um 19:01:53 Uhr
Die Meldung kann ja fast nur aus Zeile 130, 131 kommen... bzw. was dazu gehört.
lowbyte1 schreibt am 23.02.2010 um 20:09:18 Uhr
hi
Würde mal die stelle anschauen..so wie es miniversum geschrieben hat. Warscheinlich kann bei dir die lokale Ip nicht ausgewertet werden.
Debug bei dieser stelle doch einmal.! Und schau was passiert.
Bei zeile 128. :
Ipconfig | findstr "IP-Adresse"> LocalIP.txt
For /F "delims=" %%k in (LocalIP.txt) do @set "Pvar=%%k"
Set request=%Pvar:~44,60%
Echo. %request% -UP- Localhost
Die Ausgabe sollte etwa so aussehen:
lowbyte
Würde mal die stelle anschauen..so wie es miniversum geschrieben hat. Warscheinlich kann bei dir die lokale Ip nicht ausgewertet werden.
Debug bei dieser stelle doch einmal.! Und schau was passiert.
Bei zeile 128. :
Ipconfig | findstr "IP-Adresse"> LocalIP.txt
For /F "delims=" %%k in (LocalIP.txt) do @set "Pvar=%%k"
Set request=%Pvar:~44,60%
Echo. %request% -UP- Localhost
Die Ausgabe sollte etwa so aussehen:
01.
Scannvorgang der Ip-Range 172.17.0.1 - 172.17.0.255 ist abgeschlossen .. 02.
03.
04.
172.17.0.3 -UP- Localhost 05.
172.17.0.1 -UP- MAC = 00-00-0C-ff-44-90 - CISCO SYSTEMS, INC. 06.
/*weitere Systeme */ ... 07.
08.
09.
10.
All Activ Hosts im Subnet .. 11.
12.
13.
Output saving ?..y/nlowbyte
Snowman25 schreibt am 24.02.2010 um 10:04:12 Uhr
Ok, Fehler gefunden.
Eigentlich ganz einfach:
Englischs System --> Gibt in der Ausgabe von ipconfig keine Deutschen Wörter, allerdings englische.
Dachte zuerst, es könnte an der IPv6-Kompatiblität meines Systems liegen, deshalb hab ich an die pings jeweils ein -4 angehängt (was dann ja auch nichts gebracht hat).
Deshalb solltest du Zeile 128:
änder in
Genauso mit dem Standardgateway in Zeile 90:
und mit dem arpcache-scan in den zeilen 119 und 120:
Damit hättest du dann schonmal knapp 50% aller WindowsXP-Rechner weltweit abgedeckt...
Gruß
Snow
PS:
ZeileLiese sich auch noch in
änder. Gibt eine wesentlich schönere ausgabe, sollte die IEEEMACLIST.txt nicht vorhanden sein.
PPS:
unter http://snowman25.de/IEEEMACLIST.txt ist eine gekürzte Mac-Liste verfügbar.
Habe ich bloß schnell aus der Originalen per erstellt.
Eigentlich ganz einfach:
Englischs System --> Gibt in der Ausgabe von ipconfig keine Deutschen Wörter, allerdings englische.
Dachte zuerst, es könnte an der IPv6-Kompatiblität meines Systems liegen, deshalb hab ich an die pings jeweils ein -4 angehängt (was dann ja auch nichts gebracht hat).
Deshalb solltest du Zeile 128:
Ipconfig | findstr "IP-Adresse"> LocalIP.txt01.
Ipconfig | findstr "IP-Adresse"> LocalIP.txt 02.
if %ERRORLEVEL%==1 ( 03.
Ipconfig | findstr "IP Address"> LocalIP.txt 04.
)Genauso mit dem Standardgateway in Zeile 90:
01.
ipconfig | findstr "Standardgateway" > sgw.txt 02.
if %ERRORLEVEL%==1 ( 03.
ipconfig | findstr "Default Gateway" > sgw.txt 04.
)und mit dem arpcache-scan in den zeilen 119 und 120:
01.
type arpcache.txt | findstr "statisch">> arp_req.txt 02.
if %ERRORLEVEL%==1 ( 03.
type arpcache.txt | findstr "static">> arp_req.txt 04.
) 05.
type arpcache.txt | findstr "dynamisch">> arp_req.txt 06.
if %ERRORLEVEL%==1 ( 07.
type arpcache.txt | findstr "dynamic">> arp_req.txt 08.
)Damit hättest du dann schonmal knapp 50% aller WindowsXP-Rechner weltweit abgedeckt...
Gruß
Snow
PS:
Zeile
for /f "tokens=2*" %%c in ('findstr /i "%var%" IEEEMACLIST.txt') do set "VE=%%d"01.
if exist IEEEMACLIST.txt ( 02.
for /f "tokens=2*" %%c in ('findstr /i "%var%" IEEEMACLIST.txt') do set "VE=%%d" 03.
)PPS:
unter http://snowman25.de/IEEEMACLIST.txt ist eine gekürzte Mac-Liste verfügbar.
Habe ich bloß schnell aus der Originalen per
type IEEEMACLIST.txt | findstr "(hex)" >>IEEEMACLIST_new.txt
Snowman25 schreibt am 26.04.2010 um 13:24:46 Uhr
Zitat von Snowman25:
unter http://snowman25.de/IEEEMACLIST.txt ist eine gekürzte Mac-Liste verfügbar.
Jetzt verfügbar unter http://administrator.snowman25.de/IEEEMAC ...unter http://snowman25.de/IEEEMACLIST.txt ist eine gekürzte Mac-Liste verfügbar.
kbudde schreibt am 17.05.2010 um 12:59:52 Uhr
Das Skript ist toll. Das kommt in meine Sammlung.
Eine Sache allgmeiner Natur muss aber noch angemerkt werden:
Das beantworten von ARP Anfragen kann durchaus geblockt werden. Ich habe das mal bei Norton gesehen.
Es gibt eine Einstellung, dass nur Anfragen von Hosts mit den man "reden möchte" beantwortet werden (Stealth mode) oder so.
Diese Systeme erkennt das Skript dann nicht.
Eine Sache allgmeiner Natur muss aber noch angemerkt werden:
Das beantworten von ARP Anfragen kann durchaus geblockt werden. Ich habe das mal bei Norton gesehen.
Es gibt eine Einstellung, dass nur Anfragen von Hosts mit den man "reden möchte" beantwortet werden (Stealth mode) oder so.
Diese Systeme erkennt das Skript dann nicht.
lowbyte1 schreibt am 17.05.2010 um 21:17:24 Uhr
Hi
Schön das es dir gefällt.
>>Das beantworten von ARP Anfragen kann durchaus geblockt werden. Ich habe das mal bei Norton gesehen.
>>Es gibt eine Einstellung, dass nur Anfragen von Hosts mit den man "reden möchte" beantwortet werden (Stealth mode) oder so.
Ja das ist schon klar. Aber die Standart Firewall von Microsoft macht dies zum bsp. nicht, so wie viele andere auch nicht. Und ausserdem ist diese "Anti Arp-Request" Option sicher nicht standard mässig gesetzt.
lowbyte
Schön das es dir gefällt.
>>Das beantworten von ARP Anfragen kann durchaus geblockt werden. Ich habe das mal bei Norton gesehen.
>>Es gibt eine Einstellung, dass nur Anfragen von Hosts mit den man "reden möchte" beantwortet werden (Stealth mode) oder so.
Ja das ist schon klar. Aber die Standart Firewall von Microsoft macht dies zum bsp. nicht, so wie viele andere auch nicht. Und ausserdem ist diese "Anti Arp-Request" Option sicher nicht standard mässig gesetzt.
lowbyte
TimoBeil schreibt am 03.07.2010 um 12:38:56 Uhr
Salü Lowbyte,
einen "Bock" habe ich bei deiner Version - genau den Bock, den ich bei meinem Beispiel umgangen habe.
Grund sind die "vielen" Nics die mittlerweile doch eher üblich als die Ausnahme sind.
Dass mich (zum allerersten mal in 3 Jahren) meine Sonicwall rausgeworfen hat, nachdem ich dein Script laufen liess,
- sortiere ich mal in die Kategorie Zufall ein, denn bei dem Wetter geh ich liebe mit dem Kindl auf den Spielplatz.
edit - nein - kein Zufall...
C:\Dokumente und Einstellungen\Ti.Mobeil>ipconfig /all
Windows-IP-Konfiguration
Ein interner Fehler ist aufgetreten: Ein an das System angeschlossenes Gerät fun
ktioniert nicht.
Wenden Sie sich an den Microsoft Software Service, um weitere Hilfe zu erhalten.
Zusätzliche Informationen: Unbekannter Medienstatuscode</code>
Und die Sonicwall wirft mich (den Rechner) nach dem Scriptlauf immer raus - der Gag mit 255 einzelnen zweizeilern mal ordentlich last auf alles zu geben, sorry - ist nix für mich und die FW denkt sich "ihren" Teil und macht dementsprechend das, wozu Sie da ist.
die Erases hab ich deaktiviert und:
jetzt mal "richtig -also so wie das einzugeben ist und nicht so, wie du es im
Da fehlen "einige" Systeme, die gerade eingeschaltet und im gleichen Netz sind - mußt du mir "leider" so glauben.
Du siehst, trotz eingabe des Netzes - wenn man die Zahlen so eingibt, wie du es vorschlägst - dann versucht er den mittleren Nic zu nehmen? - nicht den ersten, oder den letzten oder den, der zu dem Netz gehört und das funktioniert natürlich auch nur dann, wenn der mittlere (zufällig) der aktive ist.
Und wenn ich es so eingebe, wie es sein soll - dann findet er außer meiner Sonicwall nix - also irgendwo ist der Code noch arg unrund.
btw: Das einzige, was ich an deinem ganz kurz gelesenen Code bemerkt habe - ist
Und anstatt "umständlich - wie es dir Snow gezeigt hat - je nach OS Sprache nach der IP A oder IPadresse zu suchen, kannst du bequem mit
arbeiten. Du schreibst ja - ist für XP optimiert.
Ansonsten mein Weg nach Rom wäre indem Fall:
Wie gesagt - nur kurz überflogen.
btw: mir ging es eigentlich nicht um die Funktion, sondern um das Zeigen, wie man anhand von Befehlen - die "formatierte Listen" ausspucken - diese auswerten und "sinnvoll" kürzen kann. Das diese Abfrage in einem sauberen Netz eigentlich vollkommen überflüssig ist da sind wir uns beide ja hoffentlich einig.
Und ein arger Kritikpunkt meinerseits sollte auch noch erlaubt sein - dein Code besteht nur aus Befehlen - die wenigsten Zeilen sind "unten" kommentiert.
Für eine Anleitung nach heutigen Massstäben etwas dürftig.
Und das sowohl deine, als auch meine Version in anderer Hinsicht kompletter Murks ist, weil wir wegen Speed irgendwelche Krücken nehmen (ein Rechner im halbschlaf antwortet nicht auf einen einzelnen Ping) - ist ja auch klar.
Auch ein simples ping netzwerk -> ping 192.168.0.255 wirkt nicht immer auf alles.
Nur, warum du so auf "ARP" bestehst - so richtig verstanden warum du dann deine Lösung so geschrieben hast - verstehe ich nicht.
ARP geht nicht über Router/Gateways - denn den Arp Cache für die anderen Netze halten die vor - nicht der lokale Rechner.
Warum man dann umständlich die ersten 3 Oktette des zu durchsuchenden Netztes eingeben soll - ist mir ehrlich geschrieben schleierhaft.
Wie oben geschrieben, mit den Taschenspüielertricks, die du da nimmst - kam man vielleicht mal durch, aber heutige Sicherheitssysteme erkennen einen nicht nur angeblichen Aussähversuch und kicken deinen Nic.
Wenn - wie bei mir - anderen Notebook mehrere nics gefunden werden, kannst du doch bequem diese auslesen, das jeweilige GW anpingen und wenn das antwortet, weißt du welches Netz aktiv ist und sich durchsuchen läßt.
Daher und weil - wie geschrieben du wenig und nur außrhalb des Codes dokumentierst (du kannst dir denken, was die Jungs haben wollen, was Sie machen und dass die sich später nicht mehr an den Ursprung wo das Script herkam erinnern) - gäbe es von mir ein mangelhaft. Aber ich lass das mal und hoff du holst das nach.
Gruß
einen "Bock" habe ich bei deiner Version - genau den Bock, den ich bei meinem Beispiel umgangen habe.
Grund sind die "vielen" Nics die mittlerweile doch eher üblich als die Ausnahme sind.
Dass mich (zum allerersten mal in 3 Jahren) meine Sonicwall rausgeworfen hat, nachdem ich dein Script laufen liess,
- sortiere ich mal in die Kategorie Zufall ein, denn bei dem Wetter geh ich liebe mit dem Kindl auf den Spielplatz.
edit - nein - kein Zufall...
C:\Dokumente und Einstellungen\Ti.Mobeil>ipconfig /all
Windows-IP-Konfiguration
Ein interner Fehler ist aufgetreten: Ein an das System angeschlossenes Gerät fun
ktioniert nicht.
Wenden Sie sich an den Microsoft Software Service, um weitere Hilfe zu erhalten.
Zusätzliche Informationen: Unbekannter Medienstatuscode</code>
Und die Sonicwall wirft mich (den Rechner) nach dem Scriptlauf immer raus - der Gag mit 255 einzelnen zweizeilern mal ordentlich last auf alles zu geben, sorry - ist nix für mich und die FW denkt sich "ihren" Teil und macht dementsprechend das, wozu Sie da ist.
meine Ipconfig - zur Abwechslung mal mit parameter -all Die mac Adressen anonymisiert.
Windows-IP-Konfiguration Hostname. . . . . . . . . . . . . : Timobeil050 Primäres DNS-Suffix . . . . . . . : Knotentyp . . . . . . . . . . . . : Hybrid IP-Routing aktiviert. . . . . . . : Nein WINS-Proxy aktiviert. . . . . . . : Nein Ethernetadapter VMware Network Adapter VMnet8: Verbindungsspezifisches DNS-Suffix: Beschreibung. . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8 Physikalische Adresse . . . . . . : 00-50-xx-xx-xx-xx DHCP aktiviert. . . . . . . . . . : Nein IP-Adresse. . . . . . . . . . . . : 192.168.153.1 Subnetzmaske. . . . . . . . . . . : 255.255.255.0 Standardgateway . . . . . . . . . : Ethernetadapter VMware Network Adapter VMnet1: Verbindungsspezifisches DNS-Suffix: Beschreibung. . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1 Physikalische Adresse . . . . . . : 00-50-xx-xx-xx-xx DHCP aktiviert. . . . . . . . . . : Nein IP-Adresse. . . . . . . . . . . . : 192.168.204.1 Subnetzmaske. . . . . . . . . . . : 255.255.255.0 Standardgateway . . . . . . . . . : Ethernetadapter Drahtlos: Verbindungsspezifisches DNS-Suffix: Beschreibung. . . . . . . . . . . : Intel(R) PRO/Wireless 3945ABG Network Connection Physikalische Adresse . . . . . . : 00-1C-xx-xx-xx-xx DHCP aktiviert. . . . . . . . . . : Ja Autokonfiguration aktiviert . . . : Ja IP-Adresse. . . . . . . . . . . . : 192.168.199.100 Subnetzmaske. . . . . . . . . . . : 255.255.255.0 Standardgateway . . . . . . . . . : 192.168.199.1 DHCP-Server . . . . . . . . . . . : 192.168.199.1 DNS-Server. . . . . . . . . . . . : 192.168.199.1 Lease erhalten. . . . . . . . . . : Samstag, 3. Juli 2010 11:42:06 Lease läuft ab. . . . . . . . . . : Sonntag, 4. Juli 2010 11:42:06Programmlauf
__________________________________________________ MP_ARP sweeper 1.45 __________________________________________________ Die ersten 3 Oktette der Address Range angeben ... Syntax ( 172.16.3 ) -255) Input: 192.168.199 -255Die Range 192.168.199 -255.1 - 192.168.199 -255.255 wird gescannt ..
Scannvorgang der Ip-Range 192.168.199 -255.1 - 192.168.199 -255.255 ist abgeschlossen ..
>- du siehst - es wurde 192.168.199 -255 eingegeben, aber machen tut er anscheinend Ip-Range 192.168.199 -255.1 - 192.168.199 -255.255 ,Scannvorgang der Ip-Range 192.168.199 -255.1 - 192.168.199 -255.255 ist abgeschlossen ..
also 5 okette. Da solltest du die Anweisung, was einzugeben ist - dautauglicher beschreiben - nur die ersten drei oktette - ohne () und ohne -255.
Das er so in Wahrheit was ganz anderes macht - siehe weiter unten bei den Logfiles.
Das er so in Wahrheit was ganz anderes macht - siehe weiter unten bei den Logfiles.
-UP- Localhost All Activ Hosts im Subnet .. Output saving ?..y/ndie Erases hab ich deaktiviert und:
Arpcache.txt
Keine ARP-Eintr„ge gefunden.
Keine ARP-Eintr„ge gefunden.
LocalIP
Windows-IP-Konfiguration
Windows-IP-Konfiguration
Logfile.txt
Scan .. vom ## DATE:03.07.2010 ## Time:11:42:17,79 ##
192.168.204.1 -UP- Localhost
All activ Host's im Subnet ..
Scan .. vom ## DATE:03.07.2010 ## Time:11:42:17,79 ##
192.168.204.1 -UP- Localhost
All activ Host's im Subnet ..
jetzt mal "richtig -also so wie das einzugeben ist und nicht so, wie du es im
01.
Scannvorgang der Ip-Range 192.168.199.1 - 192.168.199.255 ist abgeschlossen .. 02.
03.
04.
05.
192.168.199.100 -UP- Localhost 06.
192.168.199.1 -UP- MAC = xx--xx-xx-xx-xx-xx - xyz. 07.
08.
09.
10.
11.
12.
All Activ Hosts im Subnet ..Du siehst, trotz eingabe des Netzes - wenn man die Zahlen so eingibt, wie du es vorschlägst - dann versucht er den mittleren Nic zu nehmen? - nicht den ersten, oder den letzten oder den, der zu dem Netz gehört und das funktioniert natürlich auch nur dann, wenn der mittlere (zufällig) der aktive ist.
Und wenn ich es so eingebe, wie es sein soll - dann findet er außer meiner Sonicwall nix - also irgendwo ist der Code noch arg unrund.
btw: Das einzige, was ich an deinem ganz kurz gelesenen Code bemerkt habe - ist
42. :RE
158. if y == %NOYES% goto:c_logf
159. if Y == %NOYES% goto:c_logf
zu lösen. 159. if Y == %NOYES% goto:c_logf
wäre doch simpler mit
158. if /i y == %NOYES% goto:c_logf
158. if /i y == %NOYES% goto:c_logf
Und anstatt "umständlich - wie es dir Snow gezeigt hat - je nach OS Sprache nach der IP A oder IPadresse zu suchen, kannst du bequem mit
ipconfig -all|findstr "IP.Adres"Ansonsten mein Weg nach Rom wäre indem Fall:
for /f "tokens=2 delims=[]" %%a in ('"ping %computername% -n 1|find "[""') do echo %%aWie gesagt - nur kurz überflogen.
btw: mir ging es eigentlich nicht um die Funktion, sondern um das Zeigen, wie man anhand von Befehlen - die "formatierte Listen" ausspucken - diese auswerten und "sinnvoll" kürzen kann. Das diese Abfrage in einem sauberen Netz eigentlich vollkommen überflüssig ist da sind wir uns beide ja hoffentlich einig.
Und ein arger Kritikpunkt meinerseits sollte auch noch erlaubt sein - dein Code besteht nur aus Befehlen - die wenigsten Zeilen sind "unten" kommentiert.
Für eine Anleitung nach heutigen Massstäben etwas dürftig.
Und das sowohl deine, als auch meine Version in anderer Hinsicht kompletter Murks ist, weil wir wegen Speed irgendwelche Krücken nehmen (ein Rechner im halbschlaf antwortet nicht auf einen einzelnen Ping) - ist ja auch klar.
Auch ein simples ping netzwerk -> ping 192.168.0.255 wirkt nicht immer auf alles.
Nur, warum du so auf "ARP" bestehst - so richtig verstanden warum du dann deine Lösung so geschrieben hast - verstehe ich nicht.
ARP geht nicht über Router/Gateways - denn den Arp Cache für die anderen Netze halten die vor - nicht der lokale Rechner.
Warum man dann umständlich die ersten 3 Oktette des zu durchsuchenden Netztes eingeben soll - ist mir ehrlich geschrieben schleierhaft.
Wie oben geschrieben, mit den Taschenspüielertricks, die du da nimmst - kam man vielleicht mal durch, aber heutige Sicherheitssysteme erkennen einen nicht nur angeblichen Aussähversuch und kicken deinen Nic.
Wenn - wie bei mir - anderen Notebook mehrere nics gefunden werden, kannst du doch bequem diese auslesen, das jeweilige GW anpingen und wenn das antwortet, weißt du welches Netz aktiv ist und sich durchsuchen läßt.
Daher und weil - wie geschrieben du wenig und nur außrhalb des Codes dokumentierst (du kannst dir denken, was die Jungs haben wollen, was Sie machen und dass die sich später nicht mehr an den Ursprung wo das Script herkam erinnern) - gäbe es von mir ein mangelhaft. Aber ich lass das mal und hoff du holst das nach.
Gruß
lowbyte1 schreibt am 24.08.2010 um 17:01:50 Uhr
Hallo TimoBeil
Es geht um den Batch-Script Subnetscanner.
Ja das ist alles klar, doch damals ging es mir nur um Geschwindikeit.
Und das der Code Suboptimal ist, das weis ich auch.
Doch wir müssen uns wohl nicht darüber streiten das unsere Batch-Scrpts völliger HumBug sind.!
Das würde ich eher mit meinem Scanner machen den ich in C geschriben habe. Oder zbsp. NMAP
Und klar würde ich nicht einfach planlos ein Netz scannen. Ich komme aus dem bereich Netzwerksicherheit / Software Eintwickler , und das ist mir schon klar.
Slow - Random - Header modifikation (u.a IP - MAC Spoofing ,Flag modif.) etc etc. sind das A und O, dazu kommt ein Breites wissen über Protokolle & Standard's etc.
Wen man will, und gut ist kann man jede IDS ,IPS ,HW Firewall etc. unterwandern. Und somit würde ich all Deine Rechner entdecken.
Unter dem Strich, um ein Netz zu scannen sind diese Batches nicht's. Ein IDS würde auch Dein Batch erkennen, wenn es den richtig gefütert ist.
PS: Komm doch nicht immer mit Deiner Sonicwall, die ist leider kein cent Wert. Und das kann ich Dir belegen. ;) Wir haben hier zum Pentesting eine NSA E7500, die ist schon echt lustig ;) ;)
Aber das ist jedem das seine. Und noch was ...ich zitiere "Wie oben geschrieben, mit den Taschenspüielertricks, die du da nimmst ". Und etwas kann ich Dir garantieren, wen ich in dem Suboptimalen Script die Wartezeit zwischen den Icmp Packet um sagen wir mal ne Minute Setze, oder noch besser, Random zwischen 30sec und 1 Min, dann schmeist mich Deine Sonicwall nicht mehr raus! Dazu könnte ich die Source Mac spoofen und dazu den Broadcast abhöhren. etc..etc
Viele Wege führen nach Rom, doch Ping (ICMP) würde ich als letztes vorziehen.
Und Batches sind auch nicht dafür gedacht, Netzwerk-Scanner zu schreiben, da sind wir uns hofentlich auch einig. Einfach zu unflexibel ^10.
(Wenn Du dich beleidigt fühlst, ...das wollte ich nicht).
lowbyte
Es geht um den Batch-Script Subnetscanner.
Ja das ist alles klar, doch damals ging es mir nur um Geschwindikeit.
Und das der Code Suboptimal ist, das weis ich auch.
Doch wir müssen uns wohl nicht darüber streiten das unsere Batch-Scrpts völliger HumBug sind.!
Das würde ich eher mit meinem Scanner machen den ich in C geschriben habe. Oder zbsp. NMAP
Und klar würde ich nicht einfach planlos ein Netz scannen. Ich komme aus dem bereich Netzwerksicherheit / Software Eintwickler , und das ist mir schon klar.
Slow - Random - Header modifikation (u.a IP - MAC Spoofing ,Flag modif.) etc etc. sind das A und O, dazu kommt ein Breites wissen über Protokolle & Standard's etc.
Wen man will, und gut ist kann man jede IDS ,IPS ,HW Firewall etc. unterwandern. Und somit würde ich all Deine Rechner entdecken.
Unter dem Strich, um ein Netz zu scannen sind diese Batches nicht's. Ein IDS würde auch Dein Batch erkennen, wenn es den richtig gefütert ist.
PS: Komm doch nicht immer mit Deiner Sonicwall, die ist leider kein cent Wert. Und das kann ich Dir belegen. ;) Wir haben hier zum Pentesting eine NSA E7500, die ist schon echt lustig ;) ;)
Aber das ist jedem das seine. Und noch was ...ich zitiere "Wie oben geschrieben, mit den Taschenspüielertricks, die du da nimmst ". Und etwas kann ich Dir garantieren, wen ich in dem Suboptimalen Script die Wartezeit zwischen den Icmp Packet um sagen wir mal ne Minute Setze, oder noch besser, Random zwischen 30sec und 1 Min, dann schmeist mich Deine Sonicwall nicht mehr raus! Dazu könnte ich die Source Mac spoofen und dazu den Broadcast abhöhren. etc..etc
Viele Wege führen nach Rom, doch Ping (ICMP) würde ich als letztes vorziehen.
Und Batches sind auch nicht dafür gedacht, Netzwerk-Scanner zu schreiben, da sind wir uns hofentlich auch einig. Einfach zu unflexibel ^10.
(Wenn Du dich beleidigt fühlst, ...das wollte ich nicht).
lowbyte


















43344schreibt am 20.05.2008 um 07:29:29 Uhr