理系学生日記

おまえはいつまで学生気分なのか

curl で telnet を代替する

TCP レベルの疎通確認のときにはよく telnet を使っていたのですが、最近いろいろな OS で telnet が入っていません。 こういうときに、実は curl で telnet を代替できます。 telnet をプロトコルとして指定するだけです。

以下の例では、google に 80 番ポートで接続して、 HEAD リクエストを送っています。

$ curl -s telnet://www.google.com:80
HEAD / HTTP/1.0


HTTP/1.0 200 OK
Date: Sun, 05 Apr 2020 07:15:31 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Set-Cookie: 1P_JAR=2020-04-05-07; expires=Tue, 05-May-2020 07:15:31 GMT; path=/; domain=.google.com; Secure
Set-Cookie: NID=201=eKO9jGUzcgkDYVEEC0o9ViIFLVNTYzCuewhZuQ2brpsffGKwiGWOwnDdiFrGyqAdxTI1Z2ILAoErW_W9FTZFcEsEuwFaLtJmujOdyhnXM7iuciERbANH4x9CXaOJZkZBL_lAvxhLR1jkFiYAbAJ9h8j5BEg7hGWHY3LXH-TbUxw; expires=Mon, 05-Oct-2020 07:15:31 GMT; path=/; domain=.google.com; HttpOnly
Accept-Ranges: none
Vary: Accept-Encoding