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

Datei auslesen in andere Datei schreiben

Frage Microsoft

Mitglied: BigBenno

BigBenno (Level 1) - Jetzt verbinden

22.12.2005, aktualisiert 23.12.2005, 5581 Aufrufe, 6 Kommentare

Hallo Leutz!

Gibt es eine möglichkeit aus einer .txt Datei eine bestimmte Zeile auszulesen, von dieser eigentlich auch nicht alles und dies in einer andere .txt abzulegen?

Geht darum das ich aus unsere SMTP Server log die IP's haben möchte, welche versuchen uns als SMTP Server zu missbrauchen. Diese sollen dann in einer andere .txt geschrieben werden.

P.S. Ohne Java oder Linux oder php
Mitglied: Biber
22.12.2005 um 13:00 Uhr
Moin BigBenno,

da sehe ich nur Chancen, wenn ihr die entsprechenden Zeilen anhand eines Suchbegriffs auch identifizieren könnt.
Bevor ihr da nichts habt bzw. postet und auch die Art des Outputs nicht klar ist, lohnt sich IMHO das Anfangen nicht.
Gruß Biber
Bitte warten ..
Mitglied: BigBenno
22.12.2005 um 14:13 Uhr
Wir haben einen Anhatspunkt:

Dec 22, 2005, 10:38:17 Session 1: HELO 212.94.244.14
Dec 22, 2005, 10:38:17 Session 1: 250 xxx.xxx.de Hello [192.168.150.247]
Dec 22, 2005, 10:38:18 Session 1: MAIL FROM: <zdsdbzse@pmail.com>
Dec 22, 2005, 10:38:18 Session 1: 250 2.1.0 zdsdbzse@pmail.com....Sender OK
Dec 22, 2005, 10:38:18 Session 1: RCPT TO: <popogigi1975@yahoo.com.tw>
Dec 22, 2005, 10:38:18 Session 1: Recipient address reject: popogigi1975@yahoo.com.tw

So sieht das log aus von dem SMTP Server. Ich müsste nach dem Wort "reject" suchen und dann 5 Zeilen drüber die IP auslesen. Diese dann in eine andere .txt schreiben
Bitte warten ..
Mitglied: Biber
22.12.2005 um 14:50 Uhr
Na ja, BigBenno,
dann ist die Mimik doch relativ simpel:

- die Zeilen-Nummern aller Zeilen mit dem Suchbegriff "reject" ermitteln
- in einer Schleife die Zeilen mit den (Zeilen-Nummern minus 5) anfassen
- aus dieser Zeile jeweils die IP und welche Informationen auch immer (Datum?) in eine neue Log-Datei schreiben.

Done.

Jetzt musst Du Dir bloß noch überlegen, mit was Du es realisieren willst - mit einer Skript-Sprache, in C#, per Batch oder oder mit Excel-Makros... bei der Anforderung sind es ja in keinem Dialekt (außer COBOL) mehr als 30 Zeilen.
Du hast es ja relativ allgemein unter "Windows" gepostet. Soll das denn täglich als Dienst im Hintergrund laufen oder einmal im Monat über die gesammelten Logs laufen oder wie ist der Plan?
Gruß Biber
Bitte warten ..
Mitglied: BigBenno
22.12.2005 um 15:04 Uhr
Ja das es so geht hab ich mir schon gedacht.
Jedoch wüsste ich auf anhieb keinen Code womit ich dies machen könnnte.
Es soll wenn möglich täglich ausgeführt werden. Wenn es eine Batch wäre ginge dies ja über den TaskPlaner.
Bitte warten ..
Mitglied: Biber
22.12.2005 um 18:52 Uhr
Na ja, BigBenno,
ein fertiges Programm dafür kann ich Dir auch nicht bieten, aber eine kurze Beispiel-Skizze als Batch kann ich Dir posten.

<font class=code>::------snipp BBLogExtract.bat
@echo off & setlocal enableDelayedExpansion
:: Biberware 2005
Set "INlog=z:\Server.log" & set "LineLog=%temp%\line.Log"
Set "Outlog=z:\BadIPs.log"
goto SkipDoku1
/* **
:: Eine "Kriterium"-INLog-Zeile mit Suchwert "reject" sieht so aus:
:: Dec 22, 2005, 10:38:18 Session 1: Recipient address reject: spammail@fake.com.tw
:: ....Token1 %%a ist "[nn]", Tokens2 %%b ist "Dec 22"; Token3 %%c ist "2005"
:: Geschrieben wird jetzt eine Liste mit den (Zeilennummern minus 5) in der Form:
Dec 22, 2005 [13]
Dec 22, 2005 [37]
Dec 22, 2005 [61]
Dec 22, 2005 [85]
*/
:SkipDoku1
@for /F "skip=2 delims=],[ tokens=1-3" %%a in ('find /n "reject" %INLog%') do (
Set /a Line=%%a-5 >nul
echo %%b,%%c [!Line!] >>%LineLog%)
Set /A "Line=0"
For /F "tokens=1-4,7,8* delims=],[ " %%a in (%INlog%) do (
Set /a "Line=!Line!+1"
Find "%%a %%b, %%c [!Line!]" %LineLog% >nul
If not Errorlevel 1 echo.%%a %%b %%c %%d %%f>>%Outlog% )
::------snipp BBLogExtract.bat </font>.......so würde die Extrakt-Datei aussehen können ... aus der obigen Log-Datei alle IPs, die 5 Zeilen über den "reject" stehen.
.... (Datum und Zeit hab ich mit übernommen ... wenn nicht benötigt, dann eben nur Parameter %%f wegschreiben.)
Dec 22 2005 10:38:17 212.94.244.14
Dec 22 2005 10:38:17 212.94.244.13
Dec 22 2005 10:38:17 212.94.244.81
Dec 22 2005 10:38:17 212.94.244.27..........etc..

Das ist jetzt nach Deinen Vorgaben, also die Zeilen, die im Original-Log "HELO" enthalten.
Als Batch sind das, selbst mit Kommentaren ca. 25 runtergeschrotete Codezeilen - wenn Du das mit einer mächtigeren Skriptsprache umsetzt noch weniger.

HTH Biber
Bitte warten ..
Mitglied: BigBenno
23.12.2005 um 08:16 Uhr
Vielen Dank erstmal!

Ich werde mich da heute mal dran setzen
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst PDF Datei auslesen und per VBA in Excel schreiben (3)

Frage von Julian8990 zum Thema VB for Applications ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Microsoft Office
Excel Dateien durchsuchen und Werte einzeln in neue Excel Datei auslesen (1)

Frage von krischanii zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...