Creation date: 10/24/2003
* | cocok 0 (nol) kali, atau berulang-kali |
? | cocok 0 (nol) kali, atau hanya 1 kali |
+ | cocok 1 kali, atau berulang-kali |
. | cocok semua karakter (numerik/alphabet) |
[ ] | cocok berdasarkan daftar karakter yang berada dalam kurung |
^ | cocok bila dimulai dari |
$ | cocok bila diakhir oleh |
\ | paksa karakter sesudahnya sebagai karakter biasa bukan simbol regex |
( ) | pengelompokkan |
Contoh alamat/sender spam mail yang masuk ke account saya.
#### spam log #### Host/Domain Summary: Messages Received msg cnt bytes host/domain -------- ------- ----------- 174 1371k bounce.iexpect.com 134 339302 ofr.mb00.net 118 509936 lists.postlite.com 76 172911 msg.greatoffersmail.com 42 192946 mail2.globalpmnet.com 40 194823 mail1.globalpmnet.com 36 173124 mail3.globalpmnet.com 30 132530 mail4.globalpmnet.com 26 81283 06.pn07.com 22 86051 43.postnote.com 22 82205 45.postnote.com 18 77252 44.postnote.com 18 60525 19.pn04.com 18 55517 08.pn07.com 18 54255 04.pn07.com 16 57168 choiceandvalue.com 16 48517 16.pn04.com 16 37636 bestvaluenow.com 16 35902 myquickdeals.com 14 58657 17.pn04.com 14 57133 47.postnote.com 14 53717 46.postnote.com 14 41381 48.postnote.com 14 36101 eoffersdirect.com 14 32512 valuesstat.com 14 31676 quickieoffers.com 14 29528 mybestvalue.com 12 84317 bigtimedeals.net 12 45114 21.pn04.com 12 41245 ourvaluesnow.com 12 38309 25.postnote.com 12 36871 10.pn02.com 12 34735 offersjust4you.com 12 34088 14.pn04.com 12 33200 49.postnote.com 12 32848 myvaluesnow.com 12 32654 bestdailyoffer.com 12 32024 wehaveanofferforyou.com 10 84476 jackpotentry.com 10 76300 newfunandcool.com 10 71206 13.bluerocketonline.com 10 61909 looneydiscounts.com 10 41181 granddiscounts.com 10 40444 approveddeals.com 10 35155 20.pn04.com 10 28995 40.postnote.com 10 27360 24.pn04.com 8 773k sadewa.inixindo.co.id 8 80921 discountsdaily.net 8 42229 05.pn07.com 8 36340 18.bluerocketonline.com 8 34416 03.pn07.com 8 30994 stderr.sr982.com 8 26975 01.pn01.com 8 26823 41.postnote.com 8 26678 mail02.luckydaily.com 8 24210 30.pn05.com 8 24131 09.pn02.com 8 22988 e.ew01.com 8 20281 mail06.emailpls.com 6 56804 e.ss01.net 6 47547 02.bluerocketonline.com 6 39967 d.ss01.net 6 39511 14.bluerocketonline.com 6 36247 d.ew01.com 6 31056 23.pn04.com 6 30051 07.bluerocketonline.com 6 27395 04.bluerocketonline.com 6 27135 21.bluerocketonline.com 6 25771 02.brightermail.com 6 22255 15.postnote.com 6 22145 11.pn02.com 6 21623 12.pn02.com 6 20772 11.bluerocketonline.com 6 20274 mail.trexads.com 6 18176 19.postnote.com 6 18068 06.bluerocketonline.com 6 17818 02.pn07.com 6 17360 15.pn02.com 6 14477 18.pn04.com 6 14229 j.ew01.com 6 13423 13.pn02.com 6 12476 22.pn04.com 6 12261 03.bluerocketonline.com 4 50426 19.bluerocketonline.com 4 49795 u.ew01.com 4 42758 08.bluerocketonline.com 4 40190 t.ew01.com 4 35529 04.brightermail.com 4 35240 22.bluerocketonline.com 4 24629 k.ew01.com 4 21548 cashclaim.net 4 20696 42.postnote.com 4 19965 17.bluerocketonline.com 4 16872 mail02.emailpls.com 4 14404 b.ss01.net 4 14280 20.postnote.com 4 12606 mail05.emailpls.com 4 11682 24.bluerocketonline.com 4 10992 08.postnote.com 4 10960 mail07.emailpls.com 4 10823 04.postnote.com 4 10482 12.bluerocketonline.com 4 9577 17.postnote.com 4 9254 mail01.luckydaily.com 4 8772 orderfreebies.com 4 8458 irresistableoffer.com 4 8180 26.bluerocketonline.com 4 8149 20.bluerocketonline.com 4 7788 tonsoffreebies.com 4 7612 servitall.com 4 6738 optinmegamarketers.com 2 37459 webmail.co.za 2 36741 msn.com 2 18331 h.ss01.net 2 17531 x.ew01.com 2 17404 01.bluerocketonline.com 2 15319 visicommedia.info 2 15223 peqigqokiq.at133.com 2 15102 f.ew01.com 2 14994 10.bluerocketonline.com 2 14867 z.ew01.com 2 11388 09.bluerocketonline.com 2 10521 erationalnews.com 2 10117 07.postnote.com 2 10029 16.bluerocketonline.com 2 10009 a.ew01.com 2 9873 06.postnote.com 2 9844 a.ss01.net 2 9577 09.postnote.com 2 9425 05.postnote.com 2 9165 22.postnote.com 2 8936 mail.giantwebmedia.com 2 7871 21.postnote.com 2 7713 jawkpwsvkw.at133.com 2 7571 avtolterot.at133.com 2 7243 23.postnote.com 2 7243 02.postnote.com 2 7145 mail4.optinmaildomain.com 2 6437 18.postnote.com 2 6269 s.ew01.com 2 6077 b.ew01.com 2 5975 07.pn07.com 2 5473 mail09.emailpls.com 2 5448 24.postnote.com 2 5185 mail.artromail.com 2 4867 y.ew01.com 2 4541 mail16.optinmaildomain.com 2 4523 23.bluerocketonline.com 2 4449 25.bluerocketonline.com 2 4272 optmeinplease.com 2 4071 g.ew01.com 2 4019 05.bluerocketonline.com 2 3913 03.brightermail.com 2 3906 c.ew01.com 2 3873 h.ew01.com 2 3856 giganticmarketing.com 2 3850 holymailpromoters.com 2 3829 reply.yahoo.com 2 3790 perfectproductsonthenet.com 2 3781 americanoptinmail.com 2 3775 v.ew01.com 2 3691 patriotpromotions.net 2 3671 optinoptions.com 2 3661 playpalpromotions.com 2 3655 bigdreammarketing.com 2 3631 modulemarketing.net 2 3603 dosethepeople.com 2 3603 quickfixpromotions.com 2 3592 maxummarketers.com 2 3535 mail07.epp03.com 2 3509 optindoces.com 2 3505 goodtimedeals.com 2 3499 viopromotions.com 2 3476 terminatormarketing.com 2 3467 betterlivingdeals.com 2 3459 gigadeals.net 2 3443 machinegunmarketing.com 2 3417 americandreamdeals.net 2 3415 optinpromotionz.com 2 3399 mail05.epp02.com 2 3363 cafinedeals.com 2 3357 mail05.epp01.com 2 3308 promptmailings.com 2 3308 optinhype.com 2 3287 optinmarketpush.com 2 3243 sweetbutterdeals.com 2 3224 optinpromotions.net 2 3199 optinimpressions.com 2 3143 wizardmarketing.net 2 3119 americandreamdeals.com 2 3100 givemadoce.com 2 2648 from=<> 2 2607 proboards13.com 1 1426 wantsomemarketmagic.comList diatas ini sebaiknya anda tulis ulang kedalam sebuah file text biasa di linux-box anda, misal diberi nama logspam. Ini nanti akan dipakai untuk belajar penggunaan regex.
Bila contoh diatas diselesaikan dengan fasilitas procmail biasa tentu anda akan membuat semacam ini.
:0 * ^From.*bounce\.iexpect\.com /dev/nullPada bagian akhir dari kata bounce ditambahkan \ sebelum tanda titik. Ini bermaksud agar tanda titik tidak dianggap sebagai simbol regex. Jadi secara keseluruhan bagian itu bisa dibaca "cek apakah mail berasal dari bounce.expect.com".
Cara diatas betul, tidak salah, tapi dapat dibayangkan, itu akan membutuhkan berapa puluh baris untuk membuat semua filter.
misal untuk spam dengan domain sender sebagai berikutmail2.globalpmnet.comTidak salah bila membuat empat buat filter procmail dengan cara diatas. Tapi load dari proses akan menjadi lama. Tentunya ini tidak diharapkan bukan ?.
mail1.globalpmnet.com
mail3.globalpmnet.com
mail4.globalpmnet.com
:0 * ^From.*globalpmnet\.com /dev/nullIni bisa digunakan, dan secara teoritis akan cocok dengan semua karakter sebelum globalpmnet.com. atau bila ingin test dengan grep/egrep bisa dibuatkan script sederhana sebagai berikut.
adi@uler adi$ cat > testgrep egrep -i 'globalpmnet\.com' logspam ^d (tekan kontrol d bersamaan) adi@uler adi$ ls Maildir/ procmailrc testgrep adi@uler adi$ chmod +x testgreplogspam adalah daftar spam diatas.
adi@uler adi$ ./testgrep 42 192946 mail2.globalpmnet.com 40 194823 mail1.globalpmnet.com 36 173124 mail3.globalpmnet.com 30 132530 mail4.globalpmnet.comYup, untuk sementara masalah terpecahkan. Tapi bagaimana bila ternyata kita mempunyai rekan kerja yang dengan email [email protected] ?. Tentunya akan hilang juga terkirim ke /dev/null.
Contoh sisipkan goodguy.globalpmnet.com kedalam logspam
adi@uler adi$ echo "goodguy.globalpmnet.com" >> logspam adi@uler adi$ ./testgrep 42 192946 mail2.globalpmnet.com 40 194823 mail1.globalpmnet.com 36 173124 mail3.globalpmnet.com 30 132530 mail4.globalpmnet.com goodguy.globalpmnet.comUntuk mengatasi hal tersebut, dibutuhkan alat bantu berupa simbol regex. Edit file testgrep menjadi
egrep -i 'mail[0-9]\.globalpmnet\.com' logspam adi@uler adi$ ./testgrep 42 192946 mail2.globalpmnet.com 40 194823 mail1.globalpmnet.com 36 173124 mail3.globalpmnet.com 30 132530 mail4.globalpmnet.comPerintah regex diatas bisa dibaca "cek mail(cocokan dengan daftar).globalpmnet.com"
^From.*mail[0-9]\.globalpmnet\.comBagaimana bila suatu hari server spam bertambah menjadi mail99.globalpmnet.com atau mail234.globalpmnet.com, apakah regex diatas dapat berfungsi ? sudah pasti jawabannya dengan mencoba dulu disisipkan kedalam spamlog dan ditest ulang.
egrep -i 'mail[0-9]+\.globalpmnet\.com' logspamTerkadang juga dapat ditemui, beberapa spam mempunyai akhiran yang identik. biasanya berupa alamat email yang digunakan untuk menghapus email address dari database mereka (walau sebetulnya hanya memperburuk keadaan). misal "please send to [email protected] to remove your email address from our database" atau terkadang [email protected].
egrep -i 'remove(me)?\@' logspamatau pada procmailrc
:0B * remove(me)?\@ /dev/nullini akan cocok dengan kriteria remove@ dan removeme@
8 42229 05.pn07.com 8 34416 03.pn07.com 8 26975 01.pn01.com 8 24210 30.pn05.com 8 24131 09.pn02.com 6 31056 23.pn04.com 6 22145 11.pn02.comDapat dipecahkan dengan solusi sebagai berikut
egrep -i '([0-9]+\.)pn([0-9]+\.)com' logspamdan pada procmailrc
* ^From.*([0-9]+\.)pn([0-9]+\.)com
16 57168 choiceandvalue.com 16 37636 bestvaluenow.com 14 32512 valuesstat.com 14 29528 mybestvalue.com 12 41245 ourvaluesnow.com 12 32848 myvaluesnow.comSeperti sebelumnya, dapat dibuat 5 buat filter untuk domain diatas. Tetapi untuk kasus procmail hal ini akan memperlambat proses, karena harus dipaksakan mecoba satu persatu filter.
Dengan membuat filter yang lebih kompleks, dapat dibuat satu kali proses untuk memeriksa banyak nama domain. Untuk kasus diatas dapat dibuatkan solusi regex sebagai berikut:
egrep -i '((our|my|best)?|choiceand)?value(s)?(stat|now)?\.com' logspamdan pada procmailrc dapat dituliskan
^ From.*((our|my|best)?|choiceand)?value(s)?(stat|now)?\.combila dibuka maka sesunguhnya regex diatas akan cocok untuk banyak kriteria.
ourvalue.com
ourvalues.com
ourbestvalue.com
ourbestvalues.com
ourchoiceandvalue.com
ourchoiceandvalues.com
... dan seterusnya