最近プロトコルを話していない

こんにちは。佐々木です

最近会話が減っていませんか?

最後にサーバーと会話したのはいつですか? 初めてサーバーにGET / HTTP/1.0って話しかけた日を覚えていますか?

サーバーとの会話、プロトコルでの繋がり切れちゃっていませんか?

サーバと語り合おう

備忘録ってことでいいじゃない、 10年後くらいにここみてconsoleにtelnetとか打ってさ、 レスポンスで「そのプロトコルには対応しておりません」って受け取ろう

Webサーバのコンテンツを見る

telnet example.com 80
--
GET /index.html HTTP/1.0
Host: example.com
User-Agent: oreno-te
[改行]

一言:HTTP/2.0、HTTP/3.0は素晴らしいが1.0の対応が廃止されたりしないよね?

smtpでメール送信(AUTH PLAIN)

telnet example.com 25
--
EHLO example.com
AUTH PLAIN "idとかpwとかをnullで繋いでbase64したテキスト"
RCPT TO: to@example.com
MAIL FROM: from@example.com
DATA
Subject: hello
From: 相手に見せたい送信元
To: 相手に見せたい送信先

Dear 受信者さん
お元気ですか?
.

一言:FROMとTOはDATAです。本文と大差のない自由な文字列

POP3でメール取得

telnet example.com 110
--
USER hoge@example.com
PASS pa$$w0rd
LIST
RETR 1
DELE 1

一言:見たら勝手に消えると思ってたらわざわざ消してた

imap4でメール取得

telnet example.com 143
--
1 login hoge pa$$w0rd
2 LIST "" *
3 fetch 1 body

一言:毎回頭に被らない文字入れないといけないのがめんどくさい

example.com多用していますがメール関係のポートは空いてなかったと思います

プロトコルを手打ちして

案外読めるし、複雑でもありません。全然手打ちできる。 サーバーやクライアントの挙動がおかしいときは直接打ってみて、余計なことを言ってるせいで関係がこじれているのかもしれません。

それよりも、上記プロトコルそのままだとパスワード見えすぎです。

HTTPS、SMTPS、POP3S、IMAP4S (Over SSLTLSだけど)とても大事

Over SSLでの通信はOpenSSL使ってできるらしいよググって

openssl s_client -connect example.com:443
--
GET /index.html HTTP/1.0
Host: example.com
User-Agent: oreno-te
[改行]