こんにちは。佐々木です
最近会話が減っていませんか?
最後にサーバーと会話したのはいつですか? 初めてサーバーに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 SSL、TLSだけど)とても大事
Over SSLでの通信はOpenSSL使ってできるらしいよググって
openssl s_client -connect example.com:443 -- GET /index.html HTTP/1.0 Host: example.com User-Agent: oreno-te [改行]