Perl для системного администрирования



              

Получение почты - часть 15


use Net::Telnet;

$header = new Mail-Header \*STDIN;

Sheader ->unfold('Received'); @received = $header->get('Received'):

Srbldomain = ".rbl.maps.vix.com" Sorbsdomain = ".relays.orbs.org";

Sduldomain = ".dul.maps.vix.com": Sblacklist = "/etc/mail/blacklist.db":

Swhoishost = "whois.geektools.com";

&loadblist;

for (reverse @received){ chomp;

parseline($_);

if (!defined $ehelo and !defined Svalidname and !defined $validip){ print "$Дп";

>

else {

Sflags = (&checkaddr($validip:$rbldomain) ? "R" : ""):

# в RBI/' $flags .= (&checkaddr($validip,$orbsdomairi) ? "0" : "");

 в ORBS9 Sflags ,= (&checkaddr($validip. Sduldomain) ? "D......);

$flags .= (&checkblist($_) 9 "B" : ""): # в нашем спи

$flags .= (&checkrev($validip,$validname) ? "L" "");

(I rev-.;o.;k: push(@iplist,Svalidip);

write; } }

for (@iplist){

print "\nWHOIS info for $_:\n"; print &getwhois($_); >

format STDOUT =

@««««««««<«« @<«««««<'<««««««<«««««

Sehelo.Svalidname.Svalidip.Sflags

то будут получены такие результаты (слегка сокращенные):

login_0246.whynot.net mx.whynot.net 206.212.231 88 ;

extreme host-209-214-9-150 :r.a 209.214.9.150 Or

isiteinc.cori www.isiteinc.com 206,136 243 2

 WHOIS info for 206,212.231.88:

WHOIS info for 209.214.9.150;

BellSouth.net Inc. (NETBLK-BELLSNET-BLK4)

1100 Ashwood Parkway

Atlanta. GA 30338

Netname: BELLSNET-BLK4

Netblock: 209.214.0.0 - 209.215.255.255

Maintainer: BELL

Coordinator-...

WHOIS info for 206.136.243.2:

Brainsell Incorporated (NET-ISITEINC)

4105-R Laguna St.

Coral Gaoles, FL 33146

US

Netname: ISITEINC Netnumber: 206.136.243.0

Coordinator:...

Гораздо лучше! Теперь нам известно:

  • Спамер дал неверные ответы HELO/EHLO.
  • Первый узел, по всей вероятности, фальшивый (не удалась попытка разыменования, и по нему нет информации WHOIS).



  • Содержание  Назад  Вперед