Telnet/Netcat scripte bleiben einfach stehen

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Noahsraven
Beiträge: 3
Registriert: 16.09.2017 12:06:59

Telnet/Netcat scripte bleiben einfach stehen

Beitrag von Noahsraven » 12.05.2018 19:35:15

Also ich versuche(!) mich mal möglichst kurz zu fassen:

SOLL: Ein Shell-Script soll an einem Prompt eine E-Mail-Adresse abfragen, den Mailserver der Domain ermitteln.
Dann soll der Mailserver mittels telnet/netcat abgefragt werden ob die E-Mail-Adresse existiert ohne ein Nachricht zu senden. (ähnlich wie z.B. bei http://www.mailtester.com/ nur eben per shell)

ABER: Da bin ich noch lange nicht.
Dies ist lediglich Phase1, ein Shell-Script finden über das man jeden(!) Mail- Server per Telnet/netcat auf Port 25 abfragen kann.
Derzeit schlage ich mich mit Shell-Scripten rum in denen der MailServer und die E-Mail-Adresse statisch eingetragen sind.
Weil diese Scripte einfach stehen bleiben.

BEMERKUNG: die Befehle der unten zu sehenden Scripte einzeln und manuell in die Shell eingetragen funktionieren immer aber eben nicht als Shellscript zusammen gefasst.

Drei verschiedene Versionen habe ich getestet

1. Version (telnet pur)
erstellt u.a. nach https://de.wikipedia.org/wiki/Simple_Ma ... r_Protocol

Code: Alles auswählen

#!/bin/bash
telnet mx00.kundenserver.de 25       
HELO [Hostname meines Mailservers]                 
MAIL FROM:<Absende-Adresse>    
RCPT TO:<Empfangs-Adresse>      
DATA                                    
From: <Absende-Adresse>
To: <Empfangs-Adresse>
Subject: Testmail Script Telnet VM

Lorem ipsum dolor sit amet, consectetur adipisici elit, eiusmod tempor incidunt ut labore et dolore magna aliqua.
.

QUIT
Funktionieren bei allen getesteten Servern (mx01.t-online.de und mx00.kundenserver.de) bis Zeile 'telnet -a . . . '
befinden sich dann immer noch in Telnet-Shell haben aber offensichtlich probs mit den Zeilenumbrüchen
man kann die Telnet-Shell dann sogar noch manuell weiterverwenden.


2. Version (per netcat)
siehe: http://www.linuxjournal.com/content/sen ... ail-netcat
besteht aus zwei Dateien
Datei 1 z.B. mt_t-online_nc.sh

Code: Alles auswählen

/bin/nc mx01.t-online.de 25 < mt_t-online_nc.txt >> protokoll_t-online.txt
Datei 2 z.B. mt_t-online_nc.txt

Code: Alles auswählen

HELO [Hostname meines Mailservers]                 
MAIL FROM:<Absende-Adresse>    
RCPT TO:<Empfangs-Adresse>      
DATA                                    
From: <Absende-Adresse>
To: <Empfangs-Adresse>
Subject: Testmail Script Netcat VM

Lorem ipsum dolor sit amet, consectetur adipisici elit, eiusmod tempor incidunt ut labore et dolore magna aliqua.
.

QUIT
Funktioniert nur bei t-online.de,
bleibt bei GMX und 1&1 vor dem ersten Telnet Befehl (HELO bzw. EHLO) einfach stehen.
Gmail gibt zurück: '451 4.5.0 SMTP protocol violation, see RFC 2821 k44-v6si1051607wre.219 - gsmtp'


3. Version (telnet gepiped)
Siehe: https://community.spiceworks.com/topic/ ... -mail-body

Code: Alles auswählen

#!/bin/bash
(
echo helo [Hostname meines Mailservers] ;
sleep 1;
echo mail from: Absende-Adresse;
#sleep 2;
echo rcpt to: Empfangs-Adresse;
#sleep 2;
echo data;
#sleep 2;
echo subject: Testmail Script VM Telnet piped;
#sleep 2;
echo From: Absende-Adresse;
echo To: Empfangs-Adresse;
echo Subject: Testmail Script Telnet_piped VM;
echo Testmail Script Telnet_piped VM;
echo .;
#sleep 3;
echo quit;
#sleep 5;
echo exit
) | telnet mx01.t-online.de 25 >> protokoll_t-online.txt                               
Funktionieren bei allen getesteten Servern (mx01.t-online.de und mx00.kundenserver.de) bis Zeile 'telnet -a . . . '
befinden sich dann immer noch in Telnet-Shell haben aber offensichtlich probs mit den Zeilenumbrüchen
man kann die Telnet-Shell dann sogar noch manuell weiterverwenden.

Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.51-3 (2017-12-13)
telnet 0.17-36

Hat jemand eine Idee was falsch läuft?

MFG Noah's Raven

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Telnet/Netcat scripte bleiben einfach stehen

Beitrag von bluestar » 12.05.2018 21:40:15

Du weist schon, das SMTP ein Dialogprotkoll ist. Du kannst deine Befehle nicht einfach darauf losballern und hoffen das es funktioniert.

1) Befehl senden
2) Antwort abwarten
3) Antwort lesen und bei Erfolg nächsten Befehl senden

Das was du da tust finden Mailserver-Admins gar nicht nett und du kommst, sofern der Server den ersten Befehl verweigert danach sogar in den Bereich das du den Server angreifst... Rechtlich kann das auch Ärger bedeuten.

Noahsraven
Beiträge: 3
Registriert: 16.09.2017 12:06:59

Re: Telnet/Netcat scripte bleiben einfach stehen

Beitrag von Noahsraven » 12.05.2018 22:11:12

hi,

dann frage ich mich warum Präsenzen wie:
http://www.aboutip.de/mail.php
http://www.mailtester.com/
https://email-checker.net/
so gut zurecht kommen.
Ok die machens auf PHP-Basis, aber was solls.

Befehl abwarten bekommt man hin durch ein Delay... aber wie bekommt man einen Delay in Telnet hin
Und was die Auswertung angeht die Soll ja noch kommen, in dem Moment in dem mir gesagt wird ob es die Adresse gibt oder nicht. Eine Nachricht senden wie in den Scripten will ich ja gar nicht mehr.

MFG Noah's Raven

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Telnet/Netcat scripte bleiben einfach stehen

Beitrag von bluestar » 13.05.2018 14:17:10

Noahsraven hat geschrieben: ↑ zum Beitrag ↑
12.05.2018 22:11:12
hi,

dann frage ich mich warum Präsenzen wie:
http://www.aboutip.de/mail.php
Also deren Script meldet bei meiner Emailadresse, das sie nicht existiert :mrgreen:
Noahsraven hat geschrieben: http://www.mailtester.com/
Hier ist die Ausgabe besser, aber letztlich fällt meine Mailadresse auch durch...
Noahsraven hat geschrieben: https://email-checker.net/
Auch hier kommt die falsche Antwort...

Ich würde sagen, das dein Script ähnliche Probleme haben wird... Greylisting sei Dank.

Viel Erfolg bei der erfolglosen Mission

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Telnet/Netcat scripte bleiben einfach stehen

Beitrag von rendegast » 13.05.2018 16:45:57

Gegen die Form der SMTP-Kommunikation ist eigentlich nichts zu sagen.


Ich würde die gepipte Version 'echo "...." | telnet server 25' bevorzugen.
Ich bekomme da zumindest immer einen beendeten/abgebrochenen Dialog,
wohingegen die interaktive Form häufig hängenbleiben kann.

Es ist aber zu bedenken, daß ja auch mal authentifiziert werden muß/sollte,
falls eine Nachricht versendet werden soll.
Du könntest Dich aber auch mit dem Erhalt des HELO/EHLO begnügen.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

hec_tech
Beiträge: 1093
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Telnet/Netcat scripte bleiben einfach stehen

Beitrag von hec_tech » 11.07.2018 13:26:49

Bei Greylisting wird das Skript genauso scheitern wie bein Frontend MX. Der Frontend MX nimmt die Mail mal an und leitet an Backend weiter. Der sagt dann Adresse gibt es oder nicht und schickt eine NDN. Das passiert aber alles erst nachher.

Antworten