6.16.2013

pythonでtelnetlibでctrl+を送信する方法

pythonでctrl+xxなコードを送る方法


ひたすらtelnetしては戻り値を拾ってきてctrl+cでセッションを切ってっていうのを1万回くらい繰り返したいんだけど、って要望を貰って、スクリプトを書くことになったんだけども、ググっても見つからなかったので明確に共有しておこうと思う。


簡単に言うと、telnetlib.writeで何を送るかってだけの話なんだけど、16進数でasciiコードを送ってみたら解決した。

tn = telnetlib.Telnet(host,23,5)
tn.read_until('login')
tn.write('\x03')

小文字のxは16進数をあらわすので、\でエスケープしてctrl+cを意味する16進数の03を送ってやるだけって言う話。

ルータやシステムによってはctrl+で送るコードが違うと思うんで、cheatsheet形式にして以下においとこうと思う。

必要な人はご自由に。
pythonでctrl+xxなコードを送る一覧チートシート




0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...