Ito ang command spamoracle na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
spamoracle - isang tool sa pag-uuri ng spam
SINOPSIS
spamoracle [-config conf] [-f database] markahan [ mailbox ... ]
spamoracle [-config conf] [-f database] idagdag [-v] -spam spambox ... -mabuti goodbox ...
spamoracle [-config conf] [-f database] pagsusulit [-min prob] [-max prob] [ mailbox ... ]
spamoracle [-config conf] [-f database] stat [ mailbox ... ]
spamoracle [-config conf] [-f database] listahan regexp ...
spamoracle [-config conf] [-f database] backup > backupfile
spamoracle [-config conf] [-f database] ibalik < backupfile
spamoracle [-config conf] [-f database] mga salita [ mailbox ... ]
DESCRIPTION
Ang SpamOracle ay isang tool upang makatulong na matukoy at ma-filter ang "spam" (hindi hinihinging komersyal na e-
mail). Ito ay nagpapatuloy sa pamamagitan ng istatistikal na pagsusuri ng mga salitang lumalabas sa e-mail,
paghahambing ng mga dalas ng mga salita sa mga matatagpuan sa isang corpus na ibinigay ng user ng kilala
spam at kilalang lehitimong e-mail. Ang algorithm ng pag-uuri ay batay sa Bayes'
formula, at inilarawan sa papel ni Paul Graham, A plano para spam,
http://www.paulgraham.com/spam.html.
Ang program na ito ay idinisenyo upang gumana kasabay ng procmail(1). Ang resulta ng
Ang pagsusuri ay output bilang karagdagang header ng mensahe X-Spam: sinundan ng oo, hindi or hindi kilala,
kasama ang mga karagdagang detalye. Maaari itong subukan ng isang procmail rule X-Spam: header at ihatid
ang e-mail sa naaangkop na mailbox.
Bilang karagdagan, sinusuri din ng SpamOracle ang mga attachment ng MIME, kumukuha ng nauugnay na impormasyon
gaya ng uri ng MIME, pag-encode ng character at kalakip na pangalan ng file, at pagbubuod ng mga ito sa isang
karagdagan X-Attachment: header. Nagbibigay-daan ito sa procmail na madaling tanggihan ang mga e-mail
naglalaman ng mga kahina-hinalang attachment, hal. mga Windows executable na kadalasang nagpapahiwatig ng virus.
MGA KINAKAILANGAN AT LIMITASYON
Upang magamit ang SpamOracle, ang iyong mail ay dapat maihatid sa isang Unix machine kung saan mayroon kang shell
account. Dapat mayroon ang makinang ito procmail(1) (tingnan http://www.procmail.org/) naka-install.
Iyong ~/.pasulong file ay dapat na naka-set up upang patakbuhin ang lahat ng papasok na e-mail sa pamamagitan ng procmail(1). Kung
sinusuportahan ng iyong mail server ang mga protocol ng POP o IMAP, maaari mo ring gamitin fetchmail(1) to
kunin ang iyong mail mula sa server at ihatid ito sa iyong lokal na makina.
Upang ibigay ang corpus ng mga mensahe kung saan "natututo" ang SpamOracle, isang archive na humigit-kumulang 1000
ng iyong mga e-mail ay kailangan. Dapat na manual o semi-awtomatikong hatiin ang archive
mga kilalang spam at kilalang magagandang mensahe. Mga maling inuri na mensahe sa corpus (hal. mga spam
maling nakaimbak sa mga magagandang mensahe) ay magpapababa sa kahusayan ng
pag-uuri. Ang archive ay dapat nasa Unix mailbox format, o sa "isang mensahe sa bawat file"
format (a la MH). Ang iba pang mga format, tulad ng Emacs' Babyl, ay hindi suportado.
Ang paniwala ng "salita" na ginamit ng SpamOracle ay nakahilig sa mga wikang Kanlurang Europa,
ie ang ISO Latin-1 at Latin-9 character set. Paunang suporta para sa JIS-encoded
Maaaring mapili ang Japanese sa oras ng pag-compile. Hindi gagana nang maayos ang SpamOracle kung matatanggap mo
maraming lehitimong e-mail na nakasulat sa iba pang set ng character, gaya ng Chinese o Korean set.
PAGSISIMULA
Upang bumuo ng database ng mga frequency ng salita mula sa corpus, gawin ang:
rm ~/.spamoracle.db
spamoracle idagdag -v -mabuti goodmails -spam mga spammail
Bilang default, ang database ay naka-imbak sa file .spamoracle.db sa iyong home directory.
Ito ay maaaring ma-override ng -f opsiyon: spamoracle -f mydatabase idagdag ... Ang -v opsyon
nagpi-print ng impormasyon sa pag-unlad sa panahon ng pagproseso ng corpus.
Ipinapalagay nito na ang mabuti, hindi spam na mga mensahe mula sa corpus ay naka-imbak sa file
goodmails, at ang mga kilalang spam na mensahe sa file mga spammail. Maaari ka ring kumuha ng corpus
mga mensahe mula sa ilang mga file, at/o iproseso ang mga ito sa pamamagitan ng ilang mga invocation ng SpamOracle:
spamoracle idagdag -mabuti goodmails1 ... goodmailsN
spamoracle idagdag -spam mga spammail1 ... mga spammailP
PAGSUBOK ANG DATABASE
Upang suriin na ang database ay binuo nang tama, at maging pamilyar sa
istatistikal na pagsusuri na isinagawa ng SpamOracle, i-invoke ang "test" mode sa mga mailbox na iyon
ginamit mo lang sa pagbuo ng corpus:
spamoracle pagsusulit goodmails | mas marami pang
spamoracle pagsusulit mga spammail | mas marami pang
Para sa bawat mensahe sa mga ibinigay na mailbox, makakakita ka ng buod tulad nito:
Mula sa: hangal <[protektado ng email]>
subject: Tsek ito Palabas
Iskor: 1.00 -- 15
Mga detalye: refid:98 $$$$:98 surfing:98 asp:95 click:93 cable:92
kaagad:90 https:88 internet:87 www:86 U4:85 ay hindi:14 buwan:81
com:75 surf:75
attachment: cset="GB2312" type="application/octet-stream"
name="Guangwen4.zip"
File: inbox/314
Ang unang dalawang linya ay ang Mula sa: at subject: mga patlang ng orihinal na mensahe.
Ang Iskor: linya ay nagbubuod sa resulta ng pagsusuri. Ang unang numero (sa pagitan ng 0.0 at
1.0) ay ang posibilidad na ang mensahe ay aktwal na spam --- o, katumbas nito, ang antas
ng pagkakatulad ng mensahe sa mga mensaheng spam sa corpus. Ang pangalawang numero (an
integer sa pagitan ng 0 at 15) ay ang bilang ng mga "kawili-wiling" salita na makikita sa mensahe.
Ang mga salitang "kawili-wili" ay ang mga naganap nang hindi bababa sa 5 beses sa corpus. Sa halimbawa,
mayroon kaming 15 kawili-wiling salita (ang maximum) at isang marka na 1.00, na nagpapahiwatig ng isang spam na may
mataas na katiyakan.
Ang Mga detalye: linya ay nagbibigay ng isang paliwanag ng puntos. Inililista nito ang 15 pinakakawili-wili
mga salitang matatagpuan sa mensahe, iyon ay, ang 15 kawili-wiling salita na ang posibilidad ng
ang pagtukoy ng spam ay pinakamalayo sa neutral na 0.5. Ang bawat salita ay ibinigay kasama nito
indibidwal na marka, na isinulat bilang isang porsyento (sa pagitan ng 01 at 99) sa halip na bilang isang posibilidad
upang makatipid ng espasyo. Dito, nakikita natin ang ilang napaka-"spamish" na salita tulad ng $ $ $ $ or
mag-click, na may posibilidad na 0.98 at 0.93 ayon sa pagkakabanggit, at ilang "inosente" na mga salita tulad ng
ay hindi (probability 0.14). Ang U4 Ang salitang may posibilidad na 0.85 ay talagang isang pseudo-word
kumakatawan sa isang 4 na titik na salita lahat sa uppercase -- isang bagay na kinagigiliwan ng mga spammer.
Ang attachment: line ay nagbubuod ng ilang impormasyon tungkol sa mga attachment ng MIME para sa mensaheng ito.
Dito, mayroon kaming isang uri ng attachment application/octec-stream, pangalan ng file Guangwen4.zip,
at itinakda ang character GB2312 (isang encoding para sa Chinese).
Ang File: Ipinapakita ng linya ang file na sinusuri.
Normally, kapag tumatakbo spamoracle pagsusulit goodmails, karamihan sa mga mensahe ay dapat lumabas na mababa
puntos (0.2 o mas mababa), at kapag tumatakbo spamoracle pagsusulit mga spammail, karamihan sa mga mensahe ay dapat dumating
out na may mataas na marka (0.8 o higit pa). Kung hindi, ang iyong corpus ay hindi masyadong maganda, o hindi maganda
inuri sa spam at hindi spam. Upang mabilis na makita ang mga outlier, maaari mong bawasan ang
pagitan ng mga marka kung saan ipinapakita ang mga buod ng mensahe, gaya ng sumusunod:
spamoracle pagsusulit -min 0.2 goodmails | mas marami pang
# Palabas lamang mahusay mail sa puntos >= 0.2
spamoracle pagsusulit -max 0.8 mga spammail | mas marami pang
# Palabas lamang spam mail sa puntos <= 0.8
Ngayon, para sa mas mapanghamong pagsubok, kumuha ng mailbox na naglalaman ng mga hindi na-filter na e-mail, ibig sabihin, isang
pinaghalong spam at mga lehitimong e-mail, at patakbuhin ito sa pamamagitan ng SpamOracle:
spamoracle pagsusulit mymailbox | kulang
Mamangha sa kung gaano kahusay na kinikilala ng orakulo ang spam mula sa iba! Kung ang resulta ay hindi iyon
kahanga-hanga sa iyo, tandaan na ang ilang mga spam ay masyadong maikli para makilala (hindi
sapat na makabuluhang salita). Gayundin, marahil ang iyong corpus ay masyadong maliit, o hindi maayos
nakategorya...
MARKING AT PAG-FILTER PAGPAPASOK E-MAIL
Kapag nabuo na ang database, handa ka nang magpatakbo ng mga papasok na e-mail sa pamamagitan ng SpamOracle. Ang
utos spamoracle markahan nagbabasa ng isang e-mail mula sa karaniwang input, at kinokopya ito sa pamantayan
output, na may dalawang header na ipinasok: X-Spam: at X-Attachment:. ang X-Spam: may isa ang header
ang mga sumusunod na format:
X-Spam: oo; puntos; mga detalye
or
X-Spam: hindi; puntos; mga detalye
or
X-Spam: hindi kilala; puntos; mga detalye
Ang puntos at mga detalye ay tulad ng inilarawan para sa spamoracle pagsusulit.
Ang oo/hindi/hindi kilala Pinagsasama-sama ng tag ang mga resulta ng pagsusuri: oo nangangahulugan na ang iskor
ay >= 0.8 at hindi bababa sa 5 kawili-wiling salita ang natagpuan; hindi nangangahulugan na ang marka ay <= 0.2
at hindi bababa sa 5 kawili-wiling salita ang natagpuan; hindi kilala ay ibinalik kung hindi man. Ang hindi kilala
karaniwang nangyayari ang kaso para sa napakaikling mga mensahe, kung saan hindi sapat ang mga kawili-wiling salita
natagpuan.
Ang X-Attachment: header ay naglalaman ng parehong impormasyon tulad ng attachment: output ng
spamoracle pagsusulit, iyon ay, isang buod ng mga attachment ng mensahe.
Upang awtomatikong iproseso ang iyong papasok na e-mail sa pamamagitan ng SpamOracle at kumilos ayon sa mga resulta
ng pagsusuri, ipasok lamang ang sumusunod na "mga recipe" sa file ~/.procmailrc:
:0fw
| /usr/local/bin/spamoracle markahan
:0
* ^X-Spam: oo;
spambox
Ang ibig sabihin ng mga misteryosong utos na ito ay:
- Patakbuhin ang bawat mail sa pamamagitan ng spamoracle markahan utos. (Kung hindi naka-install ang spamoracle
/ usr / local / bin, ayusin ang landas kung kinakailangan.) Nagdaragdag ito ng dalawang header sa mensahe: X-
Spam: at X-Attachment:, na naglalarawan sa mga resulta ng pagsusuri sa spam at ang attachment
pagtatasa.
- Kung mayroon tayong X-Spam: oo header, ihatid ang mensahe sa file spambox sa halip na
iyong regular na mailbox. Malamang, magbabasa ka spambox minsan, ngunit mas madalas
kaysa sa iyong regular na mailbox. Ang mga matapang na gumagamit ay maaaring maglagay / dev / null sa halip ng spambox sa lang
itapon ang mensahe, ngunit mangyaring huwag gawin iyon hangga't hindi mo ginagamit ang SpamOracle nang ilang sandali
at masaya sa mga resulta. Ang maling positibong rate ng SpamOracle (ibig sabihin, mga lehitimong mail
inuri bilang spam) ay mababa (0.1%) ngunit hindi null. Kaya, mas mahusay na i-save ang mga ipinapalagay na spam
saanman, at mabilis na i-scan ang mga ito paminsan-minsan.
Kung gusto mong mag-enjoy ng kaunting pag-filter na nakabatay sa attachment, narito ang ilang panuntunan sa procmail
para doon:
:0
* ^X-Mga Attachment:.*name=".*\.(pif|scr|exe|bat|com)"
spambox
:0
* ^X-Mga Attachment:.*type="audio/(x-wav|x-midi)
spambox
:0
* ^(Content-type:.*|X-Attachment:.*cset="|^Subject:.*=\?)(ks_c|gb2312|iso-2|euc-|big5|windows-1251)
spambox
Itinuring ng unang panuntunan bilang spam ang bawat mail na may Windows executable bilang attachment.
Ang mga mail na ito ay karaniwang ipinapadala ng mga virus. Ganoon din ang ginagawa ng pangalawang panuntunan sa mga attachment
ng uri ng x-wav o x-midi. Hindi ako karaniwang nakakatanggap ng musika sa pamamagitan ng e-mail, gayunpaman ang ilang sikat
Ang mga virus ng e-mail ay tila mahilig sa mga ganitong uri ng attachment. Ang ikatlong panuntunan ay itinuturing bilang spam bawat isa
mail na gumagamit ng mga pag-encode ng character na nauugnay sa Korean, Chinese, Japanese, at
Cyrillic.
PAG-UPDATE ANG DATABASE
Sa anumang oras, maaari kang magdagdag ng higit pang mga kilalang spam o kilalang mga lehitimong mensahe sa database sa pamamagitan ng
gamit ang spamoracle idagdag utos.
Halimbawa, kung makakita ka ng spam na mensahe na hindi naiuri bilang ganoon, patakbuhin ito
spamoracle idagdag -spam, upang ang SpamOracle ay matuto mula sa pagkakamali nito. (Nang walang karagdagang
argumento, babasahin ng command na ito ang isang mensahe mula sa karaniwang input at itatala ito bilang
spam.) Sa ilalim mutt(1) halimbawa, i-highlight lang ang spam message at i-type
|spamoracle idagdag -spam
Katulad nito, kung makakita ka ng isang lehitimong mensahe habang sinusuri ang iyong spam box, patakbuhin ito
spamoracle idagdag -mabuti.
Ang isa pang pagpipilian ay upang mangolekta ng mas kilalang mga spam o mas kilalang magagandang mensahe sa mailbox
file, at minsan gawin spamoracle idagdag -mabuti new_good_mails or spamoracle idagdag -spam
new_spam_mails.
NAGTATANONG ANG DATABASE
Para sa iyong edification at entertainment, ang mga nilalaman ng database ay maaaring itanong sa pamamagitan ng
mga regular na expression. Ang spamoracle listahan regexp Inililista ng command ang lahat ng salita sa database
ang laban na iyon regexp (isang Emacs-style na regular na expression), kasama ang kanilang bilang ng
mga pangyayari sa spam mail at sa magandang mail. Halimbawa:
spamoracle listahan '.*' # Ipakita lahat mga salita -- malaki listahan!
spamoracle listahan 'sex.*'
spamoracle listahan 'linux.*'
DATABASE MGA BACKUP
Ang database na ginamit ng SpamOracle ay naka-imbak sa isang compact, binary na format na hindi makatao
nababasa. Bukod dito, ang format na ito ay maaaring magbago sa mga susunod na bersyon ng SpamOracle. Upang
mapadali ang pag-backup at pag-upgrade, ang mga nilalaman ng database ay maaari ding manipulahin sa isang
portable, text format.
Ang spamoracle backup itinatapon ng command ang mga nilalaman ng database sa karaniwang output, sa a
textual, portable na format.
Ang spamoracle ibalik Binabasa ng command ang naturang dump mula sa karaniwang input at muling itinatayo ang
database na may ganitong data.
Ang inirerekomendang pamamaraan para sa pag-upgrade sa isang mas bagong bersyon ng SpamOracle ay:
# Bago ang upgrade:
spamoracle backup > backupfile
# I-upgrade SpamOracle
# Ibalik ang ang database
spamoracle ibalik < backupfile
PAG-configure PAG-FILTER MGA PARAMETERS
Marami sa mga parameter na namamahala sa pag-uuri ng mensahe ay maaaring i-configure sa pamamagitan ng a
configuration file. Bilang default, binabasa ang configuration mula sa file .spamoracle.conf
sa home directory ng user. Maaaring tukuyin ang ibang configuration file sa
command line gamit ang -config opsiyon: spamoracle -config myconfigfile ...
Ang listahan ng mga parameter na maaaring i-configure at ang format ng file ng pagsasaayos ay inilarawan
in spamoracle.confNa (5).
Ang lahat ng mga parameter ay may makatwirang mga default, ngunit maaari mong subukang pagbutihin ang kalidad ng
pag-uuri pa sa pamamagitan ng pagsasaayos sa kanila. Upang matukoy ang epekto ng iyong mga pagbabago, gamitin
alinman sa pagsusulit or stat utos sa spamoracle. ang spamoracle stat ang utos ay nagpi-print ng isang-
buod ng linya kung gaano karaming spam, hindi spam, at hindi kilalang mga mensahe ang nakita sa mga mailbox
ibinigay bilang mga argumento.
TEKNIKAL MGA DETALYE
Ang paniwala ng SpamOracle ng "salita" ay anumang run ng 3 hanggang 12 ng mga sumusunod na character: mga titik,
solong panipi, at gitling (-). Kung pinagsama-sama ang suporta para sa mga hindi Ingles na wikang european
sa, kasama rin sa mga character ng salita ang may-katuturang mga titik na may accent para sa mga wika sa
tanong. Ang lahat ng mga salita ay nakamapa sa maliit na titik, at ang mga accent na titik ay nakamapa sa
kaukulang mga di-impit na titik.
Ang isang run ng 3 hanggang 12 ng mga sumusunod na character ay bumubuo rin ng isang salita: mga digit, tuldok,
mga kuwit, at dolyar, Euro at porsyento na mga palatandaan.
Bilang karagdagan, ang isang run ng tatlo o higit pang malalaking titik ay bumubuo ng isang pseudo-word Un saan n
ay ang haba ng pagtakbo. Katulad nito, isang run ng tatlo o higit pang mga hindi ASCII na character (code >=
128) ay bumubuo ng pseudo-word Wn saan n ay ang haba ng pagtakbo.
Halimbawa, ang sumusunod na teksto:
SUMMER in Ingles is nakasulat "ete" in Pranses
ay naproseso sa mga sumusunod na salita, sa pag-aakalang napili ang suportang Pranses sa pag-compile-
oras:
U5 tag-init Ingles nakasulat ete Pranses W3
at kung hindi napili ang suportang Pranses:
U5 tag-init Ingles nakasulat Pranses W3
Upang makita ang mga salita na kinuha mula sa isang mensahe, ilabas ang spamoracle mga salita utos.
Nagbabasa ito ng alinman sa isang mensahe mula sa karaniwang input, o lahat ng mensahe mula sa mailbox
mga file na ibinigay bilang mga argumento, nabubulok ang mga mensahe sa mga salita at nagpi-print ng mga salita.
RANDOM NOTA
Ang database file ay maaaring i-compress gamit ang gzip(1) upang makatipid ng puwang sa disk, sa gastos ng
mas mabagal spamoracle mga operasyon. Kung tinukoy ang database file kasama ang -f ang opsyon ay may
karugtong .gz, spamoracle ay awtomatikong i-uncompress ito sa start-up, at muling i-compress ito
pagkatapos ng mga update.
Kung ang iyong mail ay naka-imbak sa MH na format, maaari kang magkaroon ng "command line na masyadong mahaba" na mga error habang
sinusubukang iproseso ang maraming maliliit na file gamit ang spamoracle idagdag utos, hal kapag ginagawa
spamoracle idagdag -mabuti archive/*/* -spam spam/*
Sa halip, gumawa ng isang bagay tulad ng:
mahanap arkibos -Uri f -print | xargs spamoracle idagdag -mabuti
mahanap spam -Uri f -print | xargs spamoracle idagdag -spam
Gumamit ng spamoracle online gamit ang mga serbisyo ng onworks.net