背景:トップトーカー/リスナーリストを作成するために、ファイアウォールの接続テーブルを取得しています。
場合によっては、接続テーブルは200,000以上のエントリです。telnetlibを使用してファイアウォールにリモート接続し、接続テーブルを取得しています。read_untilを使用してデータをキャプチャします。ただし、テーブルが40,000エントリを超えると、ハングします。私がそれを殺すとき、私は以下を見る:
Traceback (most recent call last):
File "test2.py", line 152, in ?
main()
File "test2.py", line 120, in main
tmp_text = telnet.read_until(pager_text)
File "/usr/lib/python2.3/telnetlib.py", line 317, in read_until
self.process_rawq()
File "/usr/lib/python2.3/telnetlib.py", line 488, in process_rawq
self.cookedq = self.cookedq + buf[0]
KeyboardInterrupt
ある種のバッファーにぶつかっていますか?このデータを取得するためのより良い方法は何でしょうか?
ありがとう。