如何读取telnetlib中的截断数据
问题描述:
使用wireshark我捕获了telnet数据包。在分析捕获的数据包我得到的数据一部分,如何读取telnetlib中的截断数据
Data [truncated]: 17:46:26......****....
我的问题是,现在我开始通过telnetlib在python telnet连接。通过我发送和接收数据。但有时在接收数据时,它会被截断,如上所示。那么,是否有可能以编程方式读取这些截断的数据?
答
您可以尝试使用tshark
与telnet解剖器已禁用?例如,现场拍摄时,你可以使用像这样:
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
,该版本没有此选项,则必须禁用解密器的telnet在Wireshark中首先通过“分析 - >启用协议... - >协议:Telnet”运行前tshark
。
下面是一个类似的例子,但这次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
选项可以指定尽可能多的领域。有关tshark
及其各种选项的更多信息,请参阅tshark man page
。