Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Perl-Alternative zu SED Streams Editor

Mitglied: LordMoorhuhn

LordMoorhuhn (Level 1) - Jetzt verbinden

12.04.2007, aktualisiert 28.04.2007, 5096 Aufrufe, 19 Kommentare

Suche Perl-Script welches gleiche Funktion wie SED-Befehl hat

Servus alle zusammen,

ich bin gerade dabei Logs von unserem Proxy auszuwerten. Da ich die Daten aber weitergebe, muss ich diese vorher anonymisieren, sprich der Benutzer "kb300" wird zu "User1", "kb301" zu "User2" etc.. Habe es mit einem Batch via SED-Befehl probiert. Bei zwei User ändern rödelt die Maschine nur lange aber spuckt dann au Ergebnis aus. Ab drei Usern kommt dann Fehler "Couldn´t allocate memory". Wohl etwas zu intensiv fürs Maschinchen. Jetz war meine Idee das Ganze über ein Perl-Script laufen zu lassen, habe aber noch nie wirklich mit Perl gearbeitet. Hat jemand vielleicht zufälligerweise ein solches Script oder auch nur ne kleine Idee die mir weiterhelfen könnte?

Danke und Gruß

P.S.: Das Programm Anonlog habe ich schon probiert, jedoch kann es nix mit meinen Logs anfangen.
Mitglied: 6890
15.04.2007 um 16:52 Uhr
hi,

kanst mal paar informationen rausrücken, wieviele user (kb300-kb90000??) und ob du einfach nur etwas zum anonymisieren brauchst oder ob das noch andere dinge erfüllen soll??

mfg
Bitte warten ..
Mitglied: LordMoorhuhn
15.04.2007 um 19:25 Uhr
Servus,

Userzahlen sind bei 370 in etwa. Also eine Logfile von einem Tag hat ca. 12MB. Es soll lediglich anonymisieren. Mehr net.
Bitte warten ..
Mitglied: 6890
15.04.2007 um 19:30 Uhr
Servus,

Userzahlen sind bei 370 in etwa. Also eine
Logfile von einem Tag hat ca. 12MB. Es soll
lediglich anonymisieren. Mehr net.

ok und sind die nutzer kenunngen immer kbxxx oder kann da auch mal heinz oder klaus stehen??

mfg
Bitte warten ..
Mitglied: LordMoorhuhn
15.04.2007 um 19:31 Uhr
sie fangen immer mit kb37 an

also kb37882
kb37489 usw.
Bitte warten ..
Mitglied: 6890
15.04.2007 um 20:12 Uhr
hallo,

hab mal was geschrieben, müsste funktionieren:
01.
#!/usr/bin/perl 
02.
 
03.
use strict; 
04.
use warnings; 
05.
 
06.
my %user; 
07.
my $logfile = "log.txt"; 
08.
my $increment = 1; 
09.
my @logfile; 
10.
 
11.
open(LOGFILE,"<$logfile") || die "$!"; 
12.
@logfile = <LOGFILE>; 
13.
close(LOGFILE); 
14.
 
15.
chomp(@logfile); 
16.
 
17.
foreach(@logfile) { 
18.
    if($_ =~ m/(kb37\d{1,3})/ig) { 
19.
        my $cache = $1; 
20.
        unless(exists($user{$cache})) { 
21.
            $user{$cache} = "user$increment"; 
22.
            $increment++; 
23.
24.
        $_ =~ s/$cache/$user{$cache}/gi; 
25.
26.
27.
 
28.
open(LOGFILE,">$logfile") || die "$!"; 
29.
print LOGFILE join("\n", @logfile); 
30.
close(LOGFILE); 
31.
 
32.
exit(0);
das liest als erstes das logfile ein, geht es dann zeile für zeile durch und schaut ob das kbxxxxx drinne is, schreibt sich das raus und in ein assoziatives feld, vergibt danach den namen userx und macht das halt für das ganze logfile und schreibt das neue logfile am ende zurück.

jow kommisch erklärt, aber is so

wenn fragen sind melden...

mfg
Bitte warten ..
Mitglied: LordMoorhuhn
15.04.2007 um 20:14 Uhr
is ja klasse!!!

Probiers morgen in der Arbeit gleich aus und geb laut. Großes Danke schonmal!!!!
Bitte warten ..
Mitglied: LordMoorhuhn
16.04.2007 um 08:05 Uhr
so guten Morgähn,

hab jetz dein script mal probiert. Er findet meine Logfile und tüddelt auch, aber er schreibt leider die log.txt nicht zurück. Die ursprüngliche Log bleibt auch unverändert.
Bitte warten ..
Mitglied: 6890
16.04.2007 um 09:52 Uhr
so guten Morgähn,

hab jetz dein script mal probiert. Er findet
meine Logfile und tüddelt auch, aber er
schreibt leider die log.txt nicht
zurück. Die ursprüngliche Log
bleibt auch unverändert.

hmm was is mit lese schreib rechten??
kommt da gar keine fehlermeldung??
läuft das script bis zum ende durch??

mfg
Bitte warten ..
Mitglied: LordMoorhuhn
16.04.2007 um 10:18 Uhr
Oh Herr lass Hirn vom Himmel regnen. Ich Depp hatte nen Schreibfehler drin. Die Sache klappt einwandfrei!!!!

Ganz großes Dankeschön. Echt spitze...

Jetz hoff ich nur noch das mein Analog des so frisst. Aber das is ja andre Geschichte.

Schöne Woche wünsche ich dir!
Bitte warten ..
Mitglied: 6890
16.04.2007 um 10:37 Uhr
Oh Herr lass Hirn vom Himmel regnen. Ich Depp
hatte nen Schreibfehler drin. Die Sache
klappt einwandfrei!!!!

Ganz großes Dankeschön. Echt
spitze...

na is doch toll wenn ich helfen konnte...
kontonummer schick ich per pn

Schöne Woche wünsche ich dir!

hmm...
hab ich was verpasst oder is heut ni monatg

mfg
Bitte warten ..
Mitglied: LordMoorhuhn
16.04.2007 um 11:00 Uhr
tu das ;) Ich hab hier viele Konten zum Geld verschicken wos nicht auffallen würde :D


Noch eine kleine Bitte wenns nicht zu viel Aufwand ist. Ich habe hier so ca. 100 Log dateien die wie folgt aussehen:
access.log.<datum> also access.log.0104, access.log.0204, access.log.0304, usw.

Könntest du in dem Script einfügen dass er sich alle logs, die mit access.log.* beginnen, sucht und diese automatisch anonymisiert? So würde ich mir das manuelle eingeben einer jeden datei ersparen (wobei ich schon 20 habe... ;) )

Mist jetz fällt mir auf dass die ganze Statistik falsch ist, sobald ich mehrere Logs habe. Ich müsste theoretisch vorher die User vergeben, also kb37227 ist User1, kb37558 ist User2 usw.. Könntest mir ein Beispiel geben? Damit ich das dann auf alle User ausweiten kann.

Wenn nich wärs auch nicht schlimm. Danke jedenfalls für die bisherige Hilfe
Bitte warten ..
Mitglied: 6890
17.04.2007 um 11:38 Uhr
huhu,

pass uff ich kugg heut abend mal wenn ich zeit hab.
dann mach das mit dem access.log glei mit...

mfg
Bitte warten ..
Mitglied: LordMoorhuhn
17.04.2007 um 14:12 Uhr
spitze! Dankeeee!!!!
Geb mir mal paar Ideen wie ich mich revanchieren könnte
Bitte warten ..
Mitglied: 6890
17.04.2007 um 14:45 Uhr
spitze! Dankeeee!!!!
Geb mir mal paar Ideen wie ich mich
revanchieren könnte

Wuahahhaha also:

  • Audi A6 3.0 TDI Quattro S-Line (schwarz) oder
  • Suzuki GSX 600 R (Matt-Schwarz)
  • Nixon "The Ceramic Player" oder
  • Es Koston 3 schwarz-rot oder
  • und und und

hoffe das warn genug ideen für den anfang
Bitte warten ..
Mitglied: LordMoorhuhn
18.04.2007 um 09:42 Uhr
ich schau mal was unsere Schwarzgeldkonten hergeben ;)
Bitte warten ..
Mitglied: 6890
23.04.2007 um 19:32 Uhr
hi,

sach ma was mir grad auffällt...

wenn du ne feste zuweisung von zb kb37228 ==> user1 usw machst, isses eigentlich nich mehr annonymisiert

is ja im endeffekt dann nur ein alias...

so setzt mich jetzt ma an die anderen sachen...

mfg
Bitte warten ..
Mitglied: 6890
23.04.2007 um 19:57 Uhr
sooo...

is das drinne was de wolltest:
01.
#!/usr/bin/perl 
02.
 
03.
use strict; 
04.
use warnings; 
05.
 
06.
my %user = ( "kb37133" => "user1", 
07.
             "kb37144" => "user2", ); 
08.
           # und immer so weiter ... 
09.
           # musste halt so für alle eintragen 
10.
 
11.
# hier liegen die logfiles in dem dir... 
12.
my $logdir = "/home/mydir/logs"; 
13.
my $increment = 1; 
14.
my @logfile; 
15.
 
16.
opendir(LOGDIR,"$logdir") || die "$!"; 
17.
foreach(readdir(LOGDIR)) { 
18.
     if($_ =~ m/access.log/gi) { 
19.
        open(LOGFILE,"<$logdir/$_") || die "$!"; 
20.
        @logfile = <LOGFILE>; 
21.
        close(LOGFILE); 
22.
 
23.
        chomp(@logfile); 
24.
 
25.
        foreach my $logf (@logfile) { 
26.
            if($logf =~ m/(kb37\d{1,3})/ig) { 
27.
                my $cache = $1; 
28.
                $logf =~ s/$cache/$user{$cache}/gi if exists $user{$cache}; 
29.
30.
31.
 
32.
        open(LOGFILE,">$logdir/$_") || die "$!"; 
33.
        print LOGFILE join("\n", @logfile); 
34.
        close(LOGFILE); 
35.
36.
37.
closedir(LOGDIR); 
38.
exit(0);
is hoffe ich selbsterklärend ;-D

wenn fragen sind...

mfg
Bitte warten ..
Mitglied: LordMoorhuhn
24.04.2007 um 00:52 Uhr
Danke morgen glei probieren.

Es ist in dem sinne anoymisiert dass jemand andres nicht mehr sehen kann hinter welchem user welche person steckt. dass ich es weiß is klar.

Nochmal großes Danke!!!!
Bitte warten ..
Mitglied: LordMoorhuhn
28.04.2007 um 20:31 Uhr
Also ich bin mittlerweile nicht mehr da tätig aber habs meinem ehemaligen Chef gegeben. Der meint es würde klappen. Also ganz großes danke!
Bitte warten ..
Ähnliche Inhalte
Linux Tools
Bash sed: Umlaute
Frage von plutowitschLinux Tools2 Kommentare

Hallo, ich hoffe jemand kann mir hier helfen. Ich versuche einen String dahingehend zu manipulieren, dass ich alles vor ...

Batch & Shell
Logdateien bereinigen mit sed
gelöst Frage von cuilsterBatch & Shell12 Kommentare

Hallo. Ich versuche log Dateien mittels sed Befehl zu bereinigen. Ziel ist es erstmal alle Zeilen zu löschen in ...

Batch & Shell

SED Abfrageergebnis in Variable schreiben

gelöst Frage von BloodyRulzBatch & Shell4 Kommentare

Hallo, kann mir jemand sagen, wie ich eine SED Abfrage in eine Batchvariable schreibe. Ich möchte praktisch foglendes erreichen: ...

Batch & Shell

SED Sonderzeichen maskieren klappt nicht.

gelöst Frage von BloodyRulzBatch & Shell5 Kommentare

Hallo zusammen, ich hoffe Ihr könnt mir helfen. System: Windows Folgendes Problem: Ich habe eine Konfigdatei von einem Router. ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 10 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 10 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 1 TagSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
gelöst Frage von YellowcakeExchange Server22 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Datenschutz
Telematikinfrastruktur Erfahrungsaustausch
Frage von MOS6581Datenschutz12 Kommentare

Moin, unter meinen Kunden befinden sich auch einige Ärzte, welche sich künftig mit der Telematikinfrastruktur-Geschichte der Gematik herumärgern dürfen. ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...

Windows Server
Downgrade von Windows Server 2016 auf 2012 - Wie vorgehen?
Frage von EstefaniaWindows Server12 Kommentare

Guten Ich habe eine Frage an Erfahrene unter euch. Durch einen InPlace Upgrade wurde Windows Server 2012 auf die ...