Telnet Verbindung unter Linux beenden, durch gleichzeitiges drücken der Tasten STRG + ALTGR + 9.
Telnet Einstellungen für Putty
Connection | Telnet
RFC 1408 aktivieren
Telnet negration mode: Passive
!! nach Eingabe der Befehle zwei mal Enter drücken !!
HTTP - Hypertext Transfer Protocol
Kommando Übersicht | |
---|---|
HEAD | Response-Header anfordern |
GET | Datei anfordern |
POST | wie GET nur für Formulare und Scripte |
PUT | Erstellen und Ändern von Dateien auf dem Server |
DELETE | Löschen von Daten auf dem Server |
TRACE | Routenverfolgung |
OPTIONS | Ermittlung von Kommunikationsoptionen |
CONNECT | Tunnelaufbau eines Proxy-Servers zu einem Host |
Befehle: HTTP/1.0 | |
OPTIONS / HTTP/1.0 | möglichen Befehle anzeigen |
GET /index.html HTTP/1.0 | Daten vom Server holen (Datei anzeigen) |
GET /index.html | Daten ohne HEADER anzeigen |
HEAD / HTTP/1.0 | nur Header einer Datei anzeigen (Webserverinfos) |
POST /form.cgi HTTP/1.0 | Daten an den Server Senden |
Befehle: HTTP/1.1 | |
HEAD / HTTP/1.1 Host: www.domain.tld User-Agent: Mozilla/5.0 |
Header der Seite ausgeben |
OPTIONS / HTTP/1.1 Host: www.domain.tld User-Agent: Mozilla/5.0 |
Optionen die der WebServer unterstützt anzeigen, z.B. GET, HEAD, POST, OPTIONS |
OPTIONS * HTTP/1.1 Host: www.domain.tld User-Agent: Mozilla/5.0 |
Optionen die der WebServer unterstützt anzeigen, z.B. GET, HEAD, POST, OPTIONS. Dabei wird * nicht von allen WebServern unterstützt z.B. Apache. nginx |
GET / HTTP/1.1 Host: www.domain.tld User-Agent: Mozilla/5.0 |
GET Abfrage einer Seite, dabei wird die Seite als HTML Text ausgegeben. |
GET /index.html HTTP/1.1 Host: www.domain.tld User-Agent: Mozilla/5.0 |
GET Abfrage der angegebenen Seite /index.html |
TRACE / HTTP/1.1 HOST: www.domain.tld |
muss vom Server unterstüzt werden |
JEFF / HTTP/1.1 HOST: www.domain.tld |
|
Bei HTTP/1.1 muss der HOST immer mit angegeben werden, wie in dem Beispiel zu sehen ist
# telnet localhost www Trying ::1... Connected to ip6-localhost. Escape character is '^]'. OPTIONS / HTTP/1.1 HOST: localhost HTTP/1.1 200 OK Date: Thu, 07 Aug 2003 14:01:05 GMT Server: Apache/2.0.47 (Debian GNU/Linux) DAV/2 Vary: accept-language,accept-charset Allow: GET,HEAD,POST,OPTIONS,TRACE Content-Length: 0 Content-Type: text/html; charset=ISO-8859-1 Content-Language: en Connection closed by foreign host.
Datei mit der Abfrage anlegen, !! am Ende der Datei muß zwei mal Enter eingefügt werden.
GET /index.html HTTP/1.1 Host: www.domain.tld User-Agent: Mozilla/5.0
Abfrage an HTTP Server übergeben
nc -w 1 www.domain.tld 80 < $file
nur die ersten 7 Zeilen der Serverantwort anzeigen
nc -w 1 www.domain.tld 80 < http.txt | head -n 7
Abfrage direkt von der Kommandozeile
printf 'GET / HTTP/1.1\r\nHost: www.domain.tld\r\n\r\n' | nc -w 1 www.domain.tld 80
HTTP-Header anzeigen
curl -I http://www.domain.tld
- HTTP/2 Abfrage, kommen keine Daten, kann der Server nur HTTP/1.0 oder HTTP/1.1
curl --http2 https://www.domain.tld
- GET Abfrage, Header mit übergeben
curl http://www.domain.tld -H "User-Agent: Mozilla/5.0"
- POST Abfrage
curl -X POST http://www.domain.tld
SSL Verbindung zu einem Server herstellen.
# openssl s_client -connect server.domain.tld:443 CONNECTED(00000003) ... Server certificate -----BEGIN CERTIFICATE----- MIIC7zCCApmgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBiTELMAkGA1UEBhMCREUx EDAOBgNVBAgTB0dFUk1BTlkxFTATBgNVBAcTDENJVFkgb2YgREVBRDESMBAGA1UE ChMJTE9DQUwuSU5DMQ4wDAYDVQQLEwVMT0NBTDESMBAGA1UEAxMJc3NsLmxvY2Fs MRkwFwYJKoZIhvcNAQkBFgppbmZvLmxvY2FsMB4XDTA0MDQwNjIxNDY1N1oXDTA0 MDUwNjIxNDY1N1owgYkxCzAJBgNVBAYTAkRFMRAwDgYDVQQIEwdHRVJNQU5ZMRUw EwYDVQQHEwxDSVRZIG9mIERFQUQxEjAQBgNVBAoTCUxPQ0FMLklOQzEOMAwGA1UE CxMFTE9DQUwxEjAQBgNVBAMTCXNzbC5sb2NhbDEZMBcGCSqGSIb3DQEJARYKaW5m by5sb2NhbDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC7JCTZlk4PXkFilUTsIk8w 3Viqqy1D7r8pGbWO65sM8hwaeVJbkGKVFh0/y0fziqL1vXBsEYVwuGBJ7gc8aIED AgMBAAGjgekwgeYwHQYDVR0OBBYEFLt2LI1BtQKGgIRbocEpZprbKz20MIG2BgNV HSMEga4wgauAFLt2LI1BtQKGgIRbocEpZprbKz20oYGPpIGMMIGJMQswCQYDVQQG EwJERTEQMA4GA1UECBMHR0VSTUFOWTEVMBMGA1UEBxMMQ0lUWSBvZiBERUFEMRIw EAYDVQQKEwlMT0NBTC5JTkMxDjAMBgNVBAsTBUxPQ0FMMRIwEAYDVQQDEwlzc2wu bG9jYWwxGTAXBgkqhkiG9w0BCQEWCmluZm8ubG9jYWyCAQAwDAYDVR0TBAUwAwEB /zANBgkqhkiG9w0BAQQFAANBALikvKBLH62sXA21y/NYu4xVr3+d77+8RpZDHnWL Lr7/81uve+69fnBHQIspdrLtNxq9VL4IjS9Mif8QOXLlLVI= -----END CERTIFICATE----- ... # OPTIONS / HTTP/1.0 HTTP/1.1 200 OK Date: Fri, 01 Oct 2004 14:16:59 GMT Server: Apache Allow: GET,HEAD,POST,OPTIONS,TRACE Content-Length: 0 Connection: close Content-Type: text/html; charset=ISO-8859-1 closed
# telnet localhost smtp | |
---|---|
HELO mail.domain.tld | Verbindung herstellen und Hostname mitteilen |
EHLO mail.domain.tld | eine Enhanced-SMTP Verbindung herstellen und Hostname mitteilen |
AUTH LOGIN | Optional, wenn der Server eine Authentifizierung vorraussetzt. Die Eingabe muss BASE64 Codiert sein
perl -MMIME::Base64 -e 'print encode_base64("user\@domain\.tld")' perl -MMIME::Base64 -e 'print encode_base64("passwort")' |
MAIL FROM:<user@domain.tld> | Spezifiziert den Absender und leitet das Absenden von Mail ein. |
RCPT TO:<user2@domain.tld> | Spezifizieren des Empfängers. |
DATA | Nachrichteninhalt eingeben und übertragen. |
FROM:<user@domain.tld> | Absender für den MailHeader |
TO:<user@domain.tld | Empfänger für den MailHeader |
SUBJECT:Eine Mail | Betreff der Mail |
. | Texteingabe abschliessen |
RSET | Abbruch einer laufenden übertragung und Reset der Verbindung. |
QUIT | beenden der Verbindung zum Server |
Enhanced SMTP (Optional) | |
HELP | fordert Hilfeinstruktionen an |
SEND FROM:<user@domain.tld> | Übertragung der Nachricht an ein Terminal. |
SOML FROM:user@domain.tld | Übertragung der Nachricht an ein Postfach oder ein Terminal.SEND OR MAIL |
SAML FROM:user@domain.tld | Übertragung der Nachricht an ein Terminal und ein Postfach.SEND AND MAIL |
VRFY user@domain.tld | Fragt nach, ob ein bestimmtes Postfach verfügbar ist. (Sicherheitsbedenklich) |
EXPN user@domain.tld | Fragt nach den Mitgliedern einer Maillingliste. |
NOOP | No Operation, gibt einen positiven Wert zurück, falls der Server noch lebt. |
TURN | Dreht das Verhältnis zwischen Server und Client um. |
ETURN | Server soll veranlasst werden, alle Mails an eine bestimmte Maildomain sofort zuzustellen. (Sicherheitsbedenklich) |
Beispiel für ein AUTH Login, 334 VXNlcm5hbWU6
(Username eingeben), 334 UGFzc3dvcmQ6
(Passwort eingeben)
AUTH LOGIN 334 VXNlcm5hbWU6 dXNlckBkb21haW4udGxk 334 UGFzc3dvcmQ6 cGFzc3dvcnQ= 235 Authentication succeeded
Befehl | Bedeutung |
---|---|
USER mustermann | Übermittelt den Usernamen für die Mailbox (maildrop) |
PASS passwort | Übermittelt das Passwort für USER |
STAT | Ermittelt die Anzahl der vorhandenen Nachrichten und die Größe der Mailbox. |
LIST | Gibt die Größe der Nachricht(en) zurück. |
LAST | Gibt die höchste bisher bearbeitete Nachrichtennummer zurück. |
RETR [ID der Mail] | holt eine komplette Nachricht (Head und Body). |
DELE [ID der Mail] | Markiert eine Nachricht als gelöscht. |
NOOP | No Operation, gibt einen positiven Wert zurück, falls der Server noch lebt. |
RSET | Setzt die Markierung aller als gelöscht markierten Nachrichten zurück. |
QUIT | Beendet die Verbindung. Löscht alle als gelöscht markierten Mails. |
weitere Kommandos die nicht von allen POP3 Server unterstützt werden | |
CAPA | POP3 Erweiterung des Servers abfragen |
AUTH Methode | Authentifizierungsmethode vorschlagen |
APOP | Verschlüsseltes Einloggen (Optional) |
TOP | Holt den Header und die angegebenen Zeilen der Nachricht.TOP 10 5 holt den Header und die ersten 5 Zeilen von Nachricht 10. (Optional) |
STLS | Verschlüsselung aktivieren, STARTTLS |
UIDL | (Unique ID Listing) Fragt nach der eindeutigen Kennung der Nachricht.(Optional) |
# telnet localhost nntp | |
---|---|
ARTICLE | Liefert einen gewünschten Beitrag (Header und Body). |
AUTHINFO [USER] [PASS] | Bietet dem Client die Möglichkeit, sich beim Server über einen Benutzernamen und ein Passwort anzumelden. (Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
BODY | Liefert den Nachrichtenkörper eines Beitrags. |
DATE | Gibt das Datum, das der Newsserver verwendet zurück. (Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
GROUP [newsgroup] | Wählt die aktuelle newsgroup aus. |
HEAD | Liefert den Nachrichtenkopf eines bestimmten Artikels zurück (ohne Body). |
HELP | Liefert eine Aufzählung aller verfügbaren Befehle zurück. |
IHAVE | Teilt dem Server mit, dass ein bestimmter Artikel beim Client vorliegt und gibt dem Server die Möglichkeit diesen Artikel zu holen. IHAVE ist für den Abgleich einer Newsgroup zwischen verschiedenen Servern gedacht, nicht zum posten. |
LAST | Setzt den Artikel-Zeiger auf den vorhergehenden Artikel innerhalb der aktuellen Newsgruppe. |
LIST | Ermittelt alle aktiven (verfügbaren) Newsgruppen des Newsservers. |
LISTGROUP | Listet die Nummern der verfügbaren Nachrichten innerhalb einer Newsgroup auf. (Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
MODE READER | Teilt dem Server mit, dass er es nicht mit einem Server zu tun hat, sondern mit einem Newsreader.(Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
NEWGROUPS [Datum] | Listet die neu hinzugekommenen Newsgroupen seit 'Datum' auf. |
NEWNEWS [Newsgroup] [DATUM] | Listet die neu hinzugekommenen Artikel in einer Newsgroup seit 'Datum' auf. |
NEXT | Setzt den Artikel-Zeiger auf den nächsten Artikel innerhalb der aktuellen Newsgruppe. |
POST | Fügt einen neuen Beitrag zu aktuellen Newsgroup hinzu. |
QUIT | Ordnungsgemässes Abmelden beim Server und Schliessen der Verbindung. |
SLAVE | Signalisiert dem Server, dass er es nicht mit einem Reader, sondern einem weiteren Server zu tun hat. SLAVE ist für den Abgleich der Newsgroups zwischen verschiedenen Servern gedacht. |
STAT [NR] | Setzt den Artikel-Zeiger auf den angegebenen Artikel innerhalb der aktuellen Newsgruppe. |
XGTITLE [PATTERN] | Liefert eine Beschreibung der mit PATTERN angegebenen Newsgruppen. Häufig entspricht dieses Kommando einfach LIST. (Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
XHDR [PATTERN] | Liefert den mit PATTERN spezifizierten Teil des Headers zurück (z.B. Subject). (Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
XOVER | Fordert eine Übersichtsdatei für die aktuelle Nachricht oder eine Gruppe von Nachrichten an. (Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
XINDEX [newsgroup] | Fordert die Indexdatei für die angegebene Newsgruppe an. (Dieses Kommando ist nicht Bestandteil des RFC und nicht bei allen Servern implementiert.) |
Befehl | Bedeutung |
---|---|
Befehle die jederzeit ausgeführt werden können | |
CAPABILITY | Funtionsumfang des Servers abfragen |
NOOP | Verbindung offenhalten |
LOGOUT | Sitzung beenden |
Befehle im nicht Authentifizierten Zustand | |
AUTHENTICATE CRAM-MD5 | Authentifizierung des Clients einleiten |
LOGIN "user" "passwort" | Login auf dem Server |
STARTTLS | SSL/TLS Verschlüsselung wählen |
Befehle im Authentifizierten Zustand | |
SELECT INBOX | Ordner auswählen hier die "INBOX" |
LIST "" "*" | zeigt alle Verzeichnisse an |
EXAMINE INBOX | wie SELECT aber im nur lese Status |
CREATE ABLAGE | einen Ordner ABLAGE erstellen |
DELETE ABLAGE | Ordner löschen |
RENAME ABLAGE ARCHIV | Ordner ABLAGE in ARCHIV umbenennen |
SUBSCRIBE | Verzeichnis abonnieren |
UNSUBSCRIBE | Verzeichnis nicht mehr abonnieren |
LSUB | nur abonnierte Ordner auflisten |
STATUS | Statusinfos ausgeben |
APPEND | neue Nachricht in den aktuellen Ordner einfügen |
FETCH 1 RFC822 | anzeige der Mail nach RFC822 |
FETCH 1 ENVELOPE | SMTP-ENVELOPE anzeigen |
FETCH 1 BODY.PEEK | Mail-Header anzeigen |
FETCH 1 RFC822.HEADER | nur SMTP-Header der Mail |
STORE 1 +FLAGS (\Seen \Deleted) | Flag zum löschen der Mail setzen |
CLOSE | Entfernt alle zum Löschen gekennzeichneten Mails und setzt die Verbindung in den Authenticated State zurück. |
EXPUNGE | Entfernt alle zum Löschen gekennzeichneten Mails, die Verbindung bleibt im Selected State. |
SEARCH | Erlaubt die Suche nach bestimmten Nachrichten in der aktuellen Mailbox. Das Kommando unterstützt logische Verknüpfungen. |
# telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK mail.domain.tld Cyrus IMAP4 v2.9.99-Debian server ready a01 CAPABILITY * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE AUTH=NTLM AUTH=DIGEST-MD5 AUTH=CRAM-MD5 SASL-IR a01 OK Completed a02 login "user@domain.tld "geheim" a02 OK User logged in a03 noop a03 OK Completed a04 select inbox * FLAGS (\Answered \Flagged \Draft \Deleted \Seen) * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] * 0 EXISTS * 0 RECENT * OK [UIDVALIDITY 1207435895] * OK [UIDNEXT 610] a04 OK [READ-WRITE] Completed a05 list "" * * LIST (\HasChildren) "." "INBOX" * LIST (\HasNoChildren) "." "INBOX.Ablage" * LIST (\HasNoChildren) "." "INBOX.Cron" * LIST (\HasNoChildren) "." "INBOX.Entw&APw-rfe" * LIST (\HasNoChildren) "." "INBOX.Gesendet" * LIST (\HasNoChildren) "." "INBOX.Trash" a05 OK Completed (0.000 secs 7 calls) a06 logout * BYE LOGOUT received a06 OK Completed Connection closed by foreign host.
Mit den Befehlen a01...a07 kann man eine Befehle gleichzeitig an den Server absetzen, die dann der Reihe nach abgearbeitet werden. Wenn das nicht benötigt wird recht es auch, einen Punkt mit Leerzeichen vor den Befehl zu setzen z.B.
. login user passwort . logout
# telnet localhost 6667 | |
---|---|
NICK <Nickname> | Nickname definieren |
USER <Nickname Host Server Name> | es reicht wenn man als user <nick . . nick> angibt. |
HELP | zeigt verfügbare Befehle an |
LIST | verfügbare Channel anzeigen |
JOIN <channel> | Channel betreten |
PRIVMSG nick Text der Nachricht | den User "nick" eine Privat Message schicken |
PRIVMSG #channel :Text der Nachricht | eine Nachricht an den Channel schicken |
KICK #channel :nick | User "nick" aus den Channel werfen |
QUIT | Verbindung zum Server trennen |
Testet ob der Port (im Beispiel) 666 vom Client zum Internet offen ist und nicht durch eine Firewall geblockt wird.
$ telnet portquiz.net 666 Trying ... Connected to portquiz.net. Escape character is '^]'.
$ nc -v portquiz.net 666 Connection to portquiz.net 666 port [tcp/daytime] succeeded!
$ curl portquiz.net:666 Port 666 test successful! Your IP: 1.2.3.4
$ wget -qO- portquiz.net:666 Port 666 test successful! Your IP: 1.2.3.4
# Windows PowerShell PS C:\> Test-NetConnection -InformationLevel detailed -ComputerName portquiz.net -Port 666