2016-11-29 3 views
0

telnetdへのtcl接続が必要で、telnetを送信したいBREAK。 telnetdの場合は、コマンドモードに入るための情報が必要です。だから、IAC(255)はセンデーになっています。 この後、BRK(243)を送信する必要があります。 これをputty-> telnetd接続で確認しました。パテは "BREAK"を送ることができます。 (255/255/243)が送信されたことをネットワークトラヒックで見ると、tclでICA(255)/ BRK(243)を送信すると、ネットワークトラフィックが予想通りに表示されます。255/2431バイトを送ることを期待して使用する

私が送信したとき、つまり254が1バイト表示されています 255を送信すると2バイトです。 私は255を期待しています。これは-1であり、ffは期待通りに特別な意味を持ちます。

電線の上に255を得るにはどうすればよいですか?

fconfigure $channel -translation exp_send -i $channel -- [binary format H4 FFF3]

これはresponceで言及したようtelnetdの

に "FF FF F3" を送信し、はい、言語は考慮しなければなりません。だから私はここで何

を持たないためにfconfigureを追加私のコードです: package require Expect spawn telnet localhost fconfigure $spawn_id -translation binary exp_send "[binary format H4 FFf3]" after 2000

私はtcpdump -X -i localhost port 23とワイヤ上を見ると、私はFFFFF3参照してください。

11:26:10.358187 IP localhost.44802 > localhost.telnet: Flags [P.], seq 129:132, ack 148, win 342, options [nop,nop,TS val 1826173122 ecr 1826168178], length 3 0x0000: 4510 0037 835b 4000 4006 b953 7f00 0001 E..7.[@[email protected] 0x0010: 7f00 0001 af02 0017 b004 9eec f815 49e3 ..............I. 0x0020: 8018 0156 fe2b 0000 0101 080a 6cd9 30c2 ...V.+......l.0. 0x0030: 6cd9 1d72 ffff f3

私はstraceのとのTelnetに見て、次を参照してください。 203 27482 12:37:28 read(0, "\377\363", 8192) = 2 204 27482 12:37:28 select(4, [0 3], [3], [3], {0, 0}) = 1 (out [3], left {0, 0}) 205 27482 12:37:28 sendto(3, "\377\377\363", 3, 0, NULL, 0) = 3 FFF3がFF FF F3、期待によって受信されたtelnetdのに送信されます。

+0

私は 'exp_send -i $ channel - " \ xff \ xf3 "が正しいと思います。 –

答えて

0

私は自分の悩みに完全に間違っていました。 私は "telnet"を想定しているので、 "CTRL"と "send brk \ r"を送信しなければなりません。

すべては問題ありません。

関連する問題