Verbindung zu SMTP Server ohne telnet oder nc testen

Um die Verbindung zu einem SMTP Server zu testen um zum Beispiel einen Fehler durch eine Firewall auszuschließen nutze ich normalerweise telnet:

user@host ~ $ telnet mail.example.net 25
Trying 1.2.3.4...
Connected to mail.example.net.
Escape character is '^]'.
220 mail.example.net ESMTP Postfix

Wenn telnet nicht installiert ist geht das auch noch mit netcat:

user@host ~ $ nc mail.example.net 25
220 mail.example.net ESMTP Postfix

Heute hatte ich ein System auf dem beides nicht existierte. Da habe ich eine Methode mit python gefunden die sehr gut funktioniert hat:

user@host ~ $ python
Python 2.7.9 (default, Mar  1 2015, 12:57:24) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> conn=socket.create_connection(('mail.example.net',25))
>>> input=conn.makefile()
>>> print input.readline()
220 mail.example.net ESMTP Postfix

>>> conn.sendall('QUIT')
>>> conn.close()
>>> 

Howto: virsh console

Bei XEN gibt es den praktischen Befehl xm console domU-name und man hat von der physikalischen Maschine eine Konsole zu der virtuellen.

KVM bringt mit dem Befehl virsh console maschinenname die gleiche Funktion ebenfalls mit. Damit das ganze funktioniert muss – zumindest bei Debian – noch etwas nachgeholfen werden.  In der /etc/inittab muss die folgende Zeile relativ am Ende einkommentiert und entsprechend angepasst werden (change 9600 to 115200) werden:

T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100

Anschliessend noch in der /boot/grub/menu.lst in der Zeile die mit #kopt beginnt die folgenden Optionen anhaengen:

console=tty0 console=ttyS0,115200

und die Aenderungen mit dem Befehl update-grub uebernehmen.

Die erste Anpassung in der inittab bewirkt, dass man in ein fertig gestartetes Linuxsystem kommt. Die Anpassung mit der Kerneloption bewirkt, dass man auch vorher beim Systemstart bereits eine Konsole bekommt.

Hinaus kommt man dort  uebrigens wieder mit der Tastenkombination Strg+Alt Gr+9  … wie damals, good old telnet times.