Guten Morgen!
Ich bräuchte Hilfe bei einem Code-Stückchen.
Folgende Situation:
Ich habe aus einem Logfile des Mailservers die Daten eines versuchen Angriffs extrahiert. dieses "domain.txt" (file 0) enthält nun nur noch die Domainnamen bei denen der Angriff versucht wurde.
Nun habe ich in diesem File aber für jeden Versuch einen Eintrag.
domainA
domainA
.....(noch 7000 mal)
domainA
domainB
domainB
...usw.
Ich würde aus diesem txt gerne folgende Infos in ein neues txt übernehmen
(file A)
domainA (wie oft im file)
domainB (wie oft im file)
Schritt 2
in einem anderen txt file (file B) habe ich sämtliche domains welche bei mir liegen
Diese würde ich gerne mit der erstellten liste oben vergleichen um zu sehen wieviele "meiner domains" gezielt attackiert wurden.
Codeidee
merke dir wort A in file A
ist das nächste wort in file A = dem vorigen zähler +1
ist das nächste wort anders -> schreibe wortA und zählerstand in file B
gehe zum nächsten wort
Codeidee 2
vergleiche file B (alle meine domains) mit file A
zeile 1 in file B in file A vorhanden? -> schreibe "gefunden" hinter den eintrag
in beiden textfiles sind die domains wie folgt
domain.at
domain2.at
domain3.de
etc...
Zu guter Letzt sollte eine Übersicht rauskommen
Domain.at - liegt bei mir - xxxxx mal angegriffen
Domain.at - liegt bei mir - nicht angegriffen
Domain.at - liegt nicht bei mir
Es gilt herauszufinden ob es sich um "zufällige" domains gehandelt hat oder ob gezielt vorgegangen wurde. Das Logfile ist ein paar hundert MB groß und es sind doch etliche 10tsd Zeilen Text was das auswerten nicht grad einfach macht.
Leider will mir kein wirklich "gangbarer Weg" einfallen das per .bat umzusetzen.
Kann mir jemand den notwendigen "Tipp" geben?
Danke
Edit: Nachtrag:
Mein Hauptproblem ist die definition der richtigen for schleife. bzw. den Bedingungen innerhalb der Schleife.
wie bekomme ich eine if / else bedingung in eine for schleife?
set zaehler=1 (vorkommen des domainnamens)
set var=0 (steht dann für den domainname)
for /f %%i in (domains1.txt) do (
if %%i==%var% zaehler=%zaehler%+1
else (
echo %zaehler% >>result.txt
echo %%i >>result.txt
set var=%%i
)
|
führt dazu dass er statt 7654 einträge für die erste domain nur 1300 überträgt und nur mit der zahl eins.. ??