Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Tool - ArpScanner - Hosts im Subnet ermitteln mit 100 Prozent erfolg - Only private net - 10 Sec.... Update 7

Anleitung Entwicklung Batch & Shell

Mitglied: lowbyte1

lowbyte1 (Level 2) - Jetzt verbinden

26.08.2007, aktualisiert 24.08.2010, 17373 Aufrufe, 42 Kommentare, 1 Danke

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]
42 Kommentare
Mitglied: gnarff
26.08.2007 um 03:07 Uhr

ich wil nicht sagen das ich der erste bin
der sowas macht im gegenteil es geht ja in
erster linie ums prinzip.

Ich will auch nicht der Erste im Forum sein, der dir sagt: "Lern mal Deutsch!"
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
Bitte warten ..
Mitglied: lowbyte1
26.08.2007 um 04:45 Uhr
hallo

danke nett von dir !
ja jeder macht tipfehler und ?
ich bessere si nicht aus weil ich keine zeit habe...

Mit freundlichen Grüßen lowbyte
Bitte warten ..
Mitglied: lowbyte1
26.08.2007 um 04:51 Uhr
hallo

und auserdem komme ich von weit weg.
ich glaube das deutsch reicht mir...

Mit freundlichen Grüßen lowbyte
Bitte warten ..
Mitglied: Xerebus
26.08.2007 um 09:50 Uhr
Also ich finde wenn man die Zeit hat ein Tutorial zu schreiben sollte man schon auf die Rechtschreibung achten.
Bei der Batch tippst du ja auch nicht alles blind ein.
Bitte warten ..
Mitglied: lowbyte1
26.08.2007 um 15:09 Uhr
hallo

Ich werde die Fehler beheben.
Nice Day....




Mit freundlichen Grüßen lowbyte
Bitte warten ..
Mitglied: HanSolo
19.09.2007 um 07:46 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.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: fritzo
26.10.2007 um 13:51 Uhr
Gut geschriebenes Script, ich finde es sehr gelungen. Die Rechtschreibung ist imho völlig sekundär; ich denke wer sich angesichts eines geposteten Scripts über derlei Dinge aufregt, der sollte es mit Baldrian versuchen. ;)

Mit freundlichen Grüßen,
fritzo
Bitte warten ..
Mitglied: lowbyte1
28.10.2007 um 11:47 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]
Bitte warten ..
Mitglied: Biber
28.10.2007 um 13:46 Uhr
Moin lowbyte1,

ist eine runde Sache, die inzwischen aus Deinem Tutorial geworden ist.

Vielen Dank fürs Veröffentlichen Deiner Lösung!

Schönes Wochenende
Biber
Bitte warten ..
Mitglied: lowbyte1
28.10.2007 um 14:09 Uhr
hallo Biber

THX

Ich bin eigentlich für OPEN SOURCE ..
Obwohl es hier ja nicht um Millionen Software geht und wen auch ...
Nice weekend

Lowbyte
Bitte warten ..
Mitglied: lowbyte1
28.10.2007 um 17:41 Uhr
helo Coders

Nun kommt das ARP Sweep tool in seiner 3 Version.

  • Kleinere Style und Performance verbesserungen

  • Output kann gelogt werden (Logfile)

Source Code wurde oben ersetzt ...



lowbyte
Bitte warten ..
Mitglied: gnarff
29.10.2007 um 02:30 Uhr

  • Output kann gelogt werden (Logfile)

Auf dieses Feature hatte ich gewartet; sehr gut!
Ich bin gespannt...

saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
29.10.2007 um 03:57 Uhr
helo

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 ....


lowbyte
Bitte warten ..
Mitglied: gnarff
29.10.2007 um 15:17 Uhr

Da die Abfrage zur Logfile erstellung im
Code ein Bug hat
funktioniert sie nicht !!
Deswegen schrieb ich, ich sei gespannt...
Habe es bereits angepasst ..

Oben in der Source wurde der Bug behoben
Dann kann ich das ja mal im Laufe der Woche ausprobieren...

saludos
gnarff
Bitte warten ..
Mitglied: lowbyte1
29.10.2007 um 22:12 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
Bitte warten ..
Mitglied: lowbyte1
30.10.2007 um 03:55 Uhr
helo

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...
(da dieser Para. Theoretisch Konstant auf 1 stehen kann,
und keine konsequenzen auf die ARP Requests haben.)



Der neue Source-Code 1.30 werde ich jetz oben ersetzen.



cyu lowbyte
Bitte warten ..
Mitglied: lowbyte1
10.01.2008 um 00:21 Uhr
helo


update

  • (efizienter code)

  • MAC mit hersteller

sourcecode wurde oben ersetzt.



lowbyte

es gibt nur eins 0 or 1
Bitte warten ..
Mitglied: miniversum
14.01.2008 um 15:50 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
Bitte warten ..
Mitglied: lowbyte1
15.01.2008 um 06:56 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
Bitte warten ..
Mitglied: alex4444
15.01.2008 um 13:29 Uhr
cooles Programm! gute Laufzeit.

Danke!
Bitte warten ..
Mitglied: miniversum
15.01.2008 um 16:49 Uhr
Ichhab bei mir jetzt einfach ein If exist eingebaut udn gut ist. Wenn die Datei da ist gehts wie es soll.

miniversum
Bitte warten ..
Mitglied: lowbyte1
17.01.2008 um 14:53 Uhr
helo

so wie ich feststellen musste hat der code noch einen kleiner bug der sich auf den
Output auswirken könnte.dies tritt auf wenn man eine anderes subnet als das eigene scannt.(wenn möglich).

der fehler wurde oben in der source behoben.




lowbyte
Bitte warten ..
Mitglied: 43344
20.05.2008 um 07:29 Uhr
Feine Sache!!!

Kann man das evtl. noch etwas anpassen, um auch einen Adresskreis von sagen wir mal 1.1.1.x scannen zu können ??

Gruß

Style
Bitte warten ..
Mitglied: lowbyte1
29.05.2008 um 18:06 Uhr
hello

das geht schon ...indem du de code anpasst...



lowbyte
Bitte warten ..
Mitglied: Nowologix
04.09.2008 um 02:18 Uhr
würde den code gerne mal verwenden...
aber ich kopiere mir immer diese lästigen zahlen und leerzeilen mit hinein... :- /
Kannst du den nochmal als plaintext posten ?
(oder ich geb mir einfach 5minuten mühe, ihr habt recht ^^)
Bitte warten ..
Mitglied: miniversum
04.09.2008 um 16:03 Uhr
Wenn Du beim Code oben auf "Quelltext" klickst hast dus schon.
Bitte warten ..
Mitglied: Snowman25
23.02.2010 um 10:03 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:
Scan .. vom ## DATE:23.02.2010 ## Time:10:01:54.09 ##  
  
 ~44,60  -UP-   Localhost  
  
  
  
All activ Host's im Subnet .. 
Gruß
Snow
Bitte warten ..
Mitglied: lowbyte1
23.02.2010 um 18:48 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
Bitte warten ..
Mitglied: miniversum
23.02.2010 um 19:01 Uhr
Die Meldung kann ja fast nur aus Zeile 130, 131 kommen... bzw. was dazu gehört.
Bitte warten ..
Mitglied: lowbyte1
23.02.2010 um 20:09 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:
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/n
lowbyte
Bitte warten ..
Mitglied: Snowman25
24.02.2010 um 10:04 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:
Ipconfig | findstr "IP-Adresse"> LocalIP.txt
änder in
01.
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"
Liese sich auch noch in
01.
  if exist IEEEMACLIST.txt ( 
02.
	for /f "tokens=2*" %%c in ('findstr /i "%var%" IEEEMACLIST.txt') do set "VE=%%d" 
03.
  )
ä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
 type IEEEMACLIST.txt | findstr "(hex)" >>IEEEMACLIST_new.txt
erstellt.
Bitte warten ..
Mitglied: lowbyte1
24.02.2010 um 14:32 Uhr
Hi

Das ist alles gut. Doch auf diese Sachen habe ich bei der implementierung nicht geschaut. Wie gesagt es ist auf Xp Pro Deutsch optimiert.



lowbyte
Bitte warten ..
Mitglied: Snowman25
24.02.2010 um 14:37 Uhr
Das 'if exist'-statement ist eher ein Bugfix.
Wie gesagt es ist auf Xp Pro Deutsch optimiert.
Naja, jetzt kann es halt auch Englisch. Immerhin schreibst du deine VB-MsgBox auch in Englisch.
Bitte warten ..
Mitglied: lowbyte1
24.02.2010 um 15:06 Uhr
HI

Ja... werde es ersetzen !
Bei der entwicklung des scriptes dachte ich halt nicht an OS ver. konflikte.
Läuft es jetz bei dir wenigstens jetzt einwandfrei ?


lowbyte
Bitte warten ..
Mitglied: lowbyte1
24.02.2010 um 15:25 Uhr
Hi zusammen


Da Snowman ein paar anregungen hatte ,wurde der Quelltext ein bischen modifiziert. So das er jetz auch auf Englischen versionen läuft.




lowbyte
Bitte warten ..
Mitglied: Snowman25
24.02.2010 um 15:47 Uhr
Hi,

Ja, Läuft jetzt einwandfrei. Mit der gekürzten IEEEMACLIST (statt 2 MB nur 1/2 MB) gehts sogar noch ein klein wenig schneller. Wobei es eigentlich sowieso schon rasend schnell ist.
Danke für dieses tolle Skript!

Gruß
Snow
Bitte warten ..
Mitglied: lowbyte1
24.02.2010 um 17:23 Uhr
Hi Snow

Freut mich das es dir gefällt. Danke für deine anregungen.


lowbyte
Bitte warten ..
Mitglied: Snowman25
26.04.2010 um 13:24 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/IEEEMACLIST.txt
Bitte warten ..
Mitglied: kbudde
17.05.2010 um 12:59 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.
Bitte warten ..
Mitglied: lowbyte1
17.05.2010 um 21:17 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
Bitte warten ..
Mitglied: 60730
03.07.2010 um 12:38 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.

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:06
Programmlauf
__________________________________________________ 
 
                        MP_ARP sweeper 1.45 
__________________________________________________ 
 
 
Die ersten 3 Oktette der Address Range angeben ... 
 
Syntax ( 172.16.3 ) -255) 
 
Input: 
192.168.199 -255
Die 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 ,
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.

   -UP-   Localhost 
All Activ Hosts im Subnet .. 
 
 
 
Output saving ?..y/n
die Erases hab ich deaktiviert und:
Arpcache.txt
Keine ARP-Eintr„ge gefunden.
LocalIP
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 ..

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 ..
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
42. :RE

158. if y == %NOYES% goto:c_logf
159. if Y == %NOYES% goto:c_logf
wäre doch simpler mit
158. if /i y == %NOYES% goto:c_logf
zu lösen.

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"
arbeiten. Du schreibst ja - ist für XP optimiert.
Ansonsten mein Weg nach Rom wäre indem Fall:
for /f "tokens=2 delims=[]" %%a in ('"ping %computername% -n 1|find "[""') do echo %%a
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ß
Bitte warten ..
Mitglied: lowbyte1
24.08.2010 um 17:01 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
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows 7
gelöst Windows 7 Skalierung auf 100 Prozent für normale Dömenenuser (2)

Frage von netzwerkschlumpf zum Thema Windows 7 ...

Batch & Shell
Werte vergleichen die nicht 100 Prozent gleich sind (4)

Frage von functionstrut zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...