LoginSignup
1
1

More than 1 year has passed since last update.

netcat(nc) for telnet

Posted at

netcat(nc) tips

telnet関連開発をするにあたり、netcatを使って、擬似telnetサーバーやクライアントを実現しようとしたときのメモ。

nc (netcat)

使い方は多数見つかる。

telnet

1文字ずつ送るのが特徴。ポート番号は23。

サーバーでのエコーバック

FIFO(パイプ)を使って実現。mkfifoコマンドを使う。

$ rm -f /tmp/f; mkfifo /tmp/f
$ cat /tmp/f | nc -l -p 23 > /tmp/f

参照サイト

サーバー側でのリモートアクセスの実現。内容は少々リスキー。

1文字送信

  1. 入力中のCtrl-Dで即時送信
  2. stty -icanon && nc 相手のIPアドレス 23
    How can I force netcat to send my input immediately, not just on newlines?

実験

サーバー側は上記のエコーバックを実行中とする。クライアント側(Mac利用)の状況。

1. Ctrl-D

$ nc 192.168.250.2 23
abc    // "abc"とタイプ後にEnterキー
abc    // エコーバック
112233D  // "1"をタイプ後にCtrl-D、"1"がエコーバック
      // "2"をタイプ後にCtrl-D、"2"がエコーバック
      // "3"をタイプ後にCtrl-D、"3"がエコーバック、最後になぜか"D"が表示

このときのWireshakの様子。
nomarlのコピー.png
nomarl2のコピー.png

2. stty

$ stty -icanon && nc 192.168.250.2 23
AABBCC  // "A"をタイプ直後に"A"がエコーバック
     // "B"をタイプ直後に"B"がエコーバック
     // "C"をタイプ直後に"C"がエコーバック、

このときのWireshakの様子。
sttyのコピー.png

EOF

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1