以前の文章へのコメントで突っ込まれたので、rshで「poll: protocol failure in circuit setup」と言われるときにtcpdumpでログを取ってみた。 client)からserverにrshでpwdを実行するコマンドを投げている。 client# \rsh server pwd tcpdumpの結果は、
IP client.1023 > server.shell: S 4253120909:4253120909(0) win 5840 <略>
IP server.shell > client.1023: S 1119539071:1119539071(0) ack 4253120910 win 5792 <略>
IP client.1023 > server.shell: . ack 1 win 1460 <略>
IP server.53908 > client.auth: S 1133396091:1133396091(0) win 5840 <略>
IP client > server: icmp 68: host client unreachable - admin prohibited
IP client.1023 > server.shell: P 1:6(5) ack 1 win 1460 <略>
IP server.shell > client.1023: . ack 6 win 1448 <略>
IP server.1023 > client.1022: S 1131978286:1131978286(0) win 5840 <略>
IP client > server: icmp 68: host client unreachable - admin prohibited
IP server.shell > client.1023: F 1:1(0) ack 6 win 1448 <略>
IP client.1023 > server.shell: . ack 2 win 1460 <略>
IP client.1023 > server.shell: F 6:6(0) ack 2 win 1460 <略>
IP server.shell > client.1023: . ack 7 win 1448 <略>
client:1023 → server:514(shell)にSYN
client:1023 ← server:514 SYN ACK
client:1023 → server:514 ACK
ここまででTCPの接続ができる。
server:53908 → client:113(auth)にSYN(接続しに行く)
server ← client ICMP reject
この結果を受けてかどうか知らないが、メッセージを1つ投げると(たぶんポート番号を投げてます)、サーバが接続してきます。
