Python 如何在telnetlib中读取截断的数据

Python 如何在telnetlib中读取截断的数据,python,telnet,wireshark,telnetlib,Python,Telnet,Wireshark,Telnetlib,我使用wireshark捕获了telnet数据包。在分析捕获的数据包时,我得到的数据部分如下: Data [truncated]: 17:46:26......****.... 我的问题是,现在我通过python中的telnetlib启动telnet连接。通过它我发送和接收数据。但有时在接收数据时,它会被截断,如上所示。那么,是否有可能通过编程读取这些被截断的数据呢 您可以在禁用telnet解析器的情况下尝试使用tshark?例如,当实时捕获时,您可以使用如下内容: tshark -i foo

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

Data [truncated]: 17:46:26......****....

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

您可以在禁用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
的旧版本,它没有此选项,那么您必须首先通过“Analyze->Enabled Protocols…->protocol:telnet”禁用Wireshark中的telnet解析器在运行
t之前,请共享

下面是一个类似的示例,但这次
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
-e
选项指定任意数量的字段。有关
t共享
及其各种选项的更多信息,请参阅