Verificando qual software do servidor SMTP é usado pelo servidor remoto

1

Estou tentando catalogar quais servidores smtp são usados em um pool heterogêneo de servidores, e até agora eu estava fazendo isso:

echo "HELO localhost"  | telnet localhost 25 2>/dev/null | grep 220
#process the output of command

Meu problema é que o servidor nem sempre tem tempo para responder "220 ..." antes que o socket seja fechado.

Então, estou procurando um script relativamente curto baseado em bash que seria um pouco mais confiável. Não consegui encontrar uma maneira fácil de fazer o comando esperar alguns segundos antes de fechar a conexão TCP.

Eu tentei expect , mas não consigo trabalhar, e isso requer um arquivo externo, que não cabe na minha suíte de auditoria, e não posso ter certeza de que ele está disponível em todos os servidores .

Alguma idéia simples?

EDIT: versões (sim, velho, eu sei):

  • bash-2.05b-41.7
  • coreutils-4.5.3-28.1
  • linux-2.4.21
por mveroone 17.09.2013 / 17:45

2 respostas

0

Bob no bate-papo sugeriu usar um subshell, incluindo o sono entre dois ecos.

Isso funciona como um encanto:

( echo "EHLO 'hostname'"; sleep 1; echo "QUIT" ) | telnet 'hostname' 25

Eu posso grep 220 agora e tenho certeza de obter a resposta dentro do escopo de um segundo.

    
por 19.09.2013 / 09:20
1

Use os nmap(1) recursos de impressão digital, a partir do manpage:

SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info

Um exemplo:

$ nmap -sV some.mail.server.biz -p 25

Starting Nmap 6.40 ( http://nmap.org ) at 2013-09-17 17:50 CEST
    Nmap scan report for some.mail.server.biz (10.0.0.135)
Host is up (0.0052s latency).
PORT   STATE SERVICE VERSION
25/tcp open  smtp    MailEnable smptd 7.08--7.08
Service Info: Host: some.domain.com; OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.67 seconds

Não sei se é útil para você, mas a saída usa CPE .

    
por 17.09.2013 / 17:53