次の形式のSMTPログがあります。
6,222.3.4.5,3040,100.2.3.4,25,UNKNOWN,0,1,……,9337bc-929a-34c0-29a8-b3a89c834b29 ,protocol,SMTP ,745663746,STATUS-COMPLETE ,VALID
6,222.3.4.5,3040,100.2.3.4,25,UNKNOWN,0,1,……,9337bc-929a-34c0-29a8-b3a89c834b29 ,date,Wed, 12 Mar 2014 00:08:44 +0100 ,745663746,STATUS-COMPLETE ,VALID
6,222.3.4.5,3040,100.2.3.4,25,UNKNOWN,0,1,……,9337bc-929a-34c0-29a8-b3a89c834b29 ,from,[email protected] ,745663746,STATUS-COMPLETE ,VALID
6,222.3.4.5,3040,100.2.3.4,25,UNKNOWN,0,1,……,9337bc-929a-34c0-29a8-b3a89c834b29 ,to,[email protected],745663746,STATUS-COMPLETE ,VALID
6,222.3.4.5,3040,100.2.3.4,25,UNKNOWN,0,1,……,9337bc-929a-34c0-29a8-b3a89c834b29 ,subject,12 skills every lawyer must muster ,745663746,STATUS-COMPLETE ,VALID
6,222.3.4.5,3040,100.2.3.4,25,UNKNOWN,0,1,……,9337bc-929a-34c0-29a8-b3a89c834b29 ,received,from [222.3.4.5] by uwl-vsd-v003.client.com with ESMTP (client SMTP Relay); Wed, 2 Mar 2013 00:06:14 +0100 from MDN-RGE-V002.client.com ([333.4.5.6]) by mdn-cbd-v001.fal.client.com (PGP Universal service); Wed, 12 Mar 2014 00:05:19 +0100 from mail-ea5-p203.google.com (HELO mail-ea5-p203.google.com) (444.5.6.7) by server-2.tower-92.example.com with RC4-SHA encrypted SMTP; 11 Mar 2014 23:06:11 -0000 from mail-ea5-p203.google.com with SMTP id I6ysd382736td.92 for <john@client>; Tues, 11 Mar 2014 16:06:10 -0700 (PDT) from nicsender ([555.6.7.8]) by mx.google.com with ESMTPSA id 87sm453982eeh.12.2014.03.11.16.06.08 for <[email protected]> (version=TLSv1cipher=LDSE-RSA-UED253-SHAbits=128/128); Tues, 11 Mar 2014 16:06:09 -0700 (PDT),745663746,STATUS-COMPLETE ,VALID
電子メールアドレスの異なるドメインを任意の文字列に置き換えて、ログファイルから電子メールアドレスを匿名化するbashスクリプトを作成しようとしています。 [Eメール保護]に置き換えられます[Eメール保護] [Eメール保護]に置き換えられます[Eメール保護] [Eメール保護]に置き換えられます[Eメール保護] スクリプトはドメイン検索を別々のファイルに保存します。
誰かが私にこれを行う方法についてアドバイスを与えることはできますか?
答え1
浮上するアイデアの1つは、ログファイルの@domain.com部分を取得し、MD5またはSHA1文字列md5sum
で元の値をマスクすることです。sha1sum
これはメカニズムを示しています。
$ echo -n abc.com | md5sum
929ba26f492f86d4a9d66a080849865a -
$ echo -n 123.com | md5sum
cbff36039c3d0212b3e34c23dcde1456 -
同じメカニズムをユーザー名にも適用できます@。
実際に0〜9の数字だけが必要な場合に考えることができる別のアプローチは、上記の方法を使用して出力を実行してすべてをtr
0〜9の数字に変換することです。
$ echo -n abc.com | md5sum | tr -dc '0-9'
92926492864966080849865
$ echo -n 123.com | md5sum | tr -dc '0-9'
3603930212334231456
ランダムな文字列
0〜9の任意の数値文字列を生成するには、この資料に記載されているさまざまな方法を使用できます。コマンドラインからランダムなパスワードを生成する10の方法。
はい
tr+ヘッドの使用$ < /dev/urandom tr -dc 0-9 | head -c${1:-10};echo;
1294624186
$ < /dev/urandom tr -dc 0-9 | head -c${1:-16};echo;
9716679462199400
tr + 折りたたみの使用
$ tr -cd '[:digit:]' < /dev/urandom | fold -w10 | head -n1
6503251969
$ tr -cd '[:digit:]' < /dev/urandom | fold -w16 | head -n1
6629563424656680