Где находится документация для Spamhaus?

Я хотел бы знать, как запросить Spamhaus для IP-адресов (Spamhaus zen http://www.spamhaus.org/zen/) и для доменов (DBL http://www.spamhaus.org/dbl/), найденных во входящей электронной почте чтобы определить, является ли данное сообщение спамом.

2 ответа

Решение

Вы можете подключиться к DBL через host или же dig, поскольку он работает как служба DNS. На этой странице FAQ показаны примеры запросов: http://www.spamhaus.org/faq/section/Spamhaus%20DBL

$ host example.com.dbl.spamhaus.org
Host example.com.dbl.spamhaus.org not found: 3(NXDOMAIN)

$ host dbltest.com.dbl.spamhaus.org
dbltest.com.dbl.spamhaus.org has address 127.0.1.2

Поиск IP-адреса выполняется аналогично, номера в IP-адресе в обратном порядке (1.2.3.4 становится 4.3.2.1.zen.spamhaus.org). Это описано в нижней части FAQ для DNSBL ( http://www.spamhaus.org/faq/section/DNSBL%20Usage).

$ host 130.119.180.199.zen.spamhaus.org
130.119.180.199.zen.spamhaus.org имеет адрес 127.0.0.2
130.119.180.199.zen.spamhaus.org имеет адрес 127.0.0.11

Перечисленные домены или адреса приводят к результатам в форме 127.0.0.*, Тогда как чистые домены / адреса возвращают статус "не найден".

Этот код C++ работает быстро и безопасно:

char *server = "some.spammer.org"; // or Ip address
BYTE ResType = 0;
HOSTENT *pHost = gethostbyname(server);
if (pHost)
{
    char query[80];
    BYTE *ip = (BYTE *)pHost->h_addr;
    sprintf(query, "%u.%u.%u.%u.zen.spamhaus.org", ip[3], ip[2], ip[1], p[0]);
    pHost = gethostbyname(query);
    if (pHost)
    {
        ResType = pHost->h_addr[3];
    }
}
Другие вопросы по тегам