如何读取telnetlib中的截断数据

时间:2017-06-12 11:44:29

标签: python telnet wireshark telnetlib

使用wireshark我捕获了telnet数据包。在分析捕获的数据包时,我得到数据部分,

   var footer_template = function (context) {
    return '<div class="suggestion-footer"><a href="/search?q=' + context.query + '">View All ('+window.totalSearchResults+') Results </a></div>';
};

我的问题是,现在我通过python中的telnetlib启动telnet连接。通过我发送和接收数据。但有时在接收数据时,它会被截断,如上所示。那么,是否有可能以编程方式读取那些截断的数据。

1 个答案:

答案 0 :(得分:0)

您可以尝试在禁用 telnet 解剖器的情况下使用tshark吗?例如,在实时捕捉时你可以使用类似的东西:

tshark -i foo --disable-protocol telnet -f "tcp port 23" -Y "tcp.len > 0" -T fields -e frame.number -e data

这将捕获所有telnet流量,但仅显示实际包含数据的数据包的帧号和数据字段。它要求您禁用 telnet 解剖器才能使其正常工作。请注意,我使用--disable-protocol命令行选项来禁用 telnet ,但如果您正在运行tshark的旧版本,那么#39; t有这个选项,那么你必须首先通过&#34; Analyze - &gt;在Wireshark中禁用 telnet 解剖器。启用协议... - &gt;协议:运行tshark之前的Telnet&#34;

这是一个类似的例子,但这次tshark正在读取文件中的数据包而不是实时捕获它们:

tshark -r foo.pcap --disable-protocol telnet -Y "tcp.port eq 23 and tcp.len > 0" -T fields -e frame.number -e data

如果您愿意,还可以更改数据的输出格式,在字节之间包含冒号分隔符(':'),如下所示:

tshark -r foo.pcap --disable-protocol telnet -Y "tcp.port eq 23 and tcp.len > 0" -T fields -e frame.number -e data.data

您可以使用tshark&#39; -e选项指定任意数量的字段。有关tshark及其各种选项的详细信息,请参阅tshark man page