我正在处理 TCP 数据包。此应用程序充当嗅探器并构建 SIP 数据包。一些 TCP SIP 数据包碎片化,因此我需要重新组装它们。
我所做的是,最初我使用以下方法处理第一个 TCP 连接:
packet = s.recvfrom(sipLocatorConfig.NETWORK_MAX_SIZE)
之后我获得数据,然后如果碎片我得到其余的,但使用.recv
:
socket.recv(sipLocatorConfig.NETWORK_TCP_MAX_SIZE)
当我获得第二个片段时,我在使用时开始得到乱码数据.recv
,我假设是ETH,IP,TCP信息:
M*?
M*?@{
QyE
如何删除此 ETH、IP 和 TCP 标头信息并仅从数据包中提取数据?谢谢