首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中解码HTTP数据包内容,如wireshark中所示

在python中解码HTTP数据包内容,如wireshark中所示
EN

Stack Overflow用户
提问于 2011-02-20 03:10:15
回答 1查看 4K关注 0票数 3

好的,所以基本上我想要做的是拦截一些我知道包含一些JSON数据的数据包。但是HTTP数据包不是人类可读的,所以这是我的问题,我需要使整个数据包(不仅仅是报头,它已经是纯文本)是人类可读的。我对网络一点经验都没有。

代码语言:javascript
复制
import pcap
from impacket import ImpactDecoder, ImpactPacket

def print_packet(pktlen, data, timestamp):
    if not data:
        return

    decoder = ImpactDecoder.EthDecoder()
    ether = decoder.decode(data)
    iphdr = ether.child()
    tcphdr = iphdr.child()

    if iphdr.get_ip_src() == '*******':
        print tcphdr

p = pcap.pcapObject()
dev = 'wlan0'
p.open_live(dev, 1600, 0, 100)

try:
    p.setfilter('tcp', 0, 0)
    while 1:
        p.loop(1, print_packet)
except KeyboardInterrupt:
    print 'shutting down'

我找到了libpcap-python、scapy、Impacket pcapy等工具。它们看起来都很好,但我想不出如何用它们正确地解码数据包。

Wireshark有一个叫做"Line-based text data: text/html“的东西,它基本上显示了我想要的信息,所以我认为用python获取相同的信息是微不足道的,事实证明并非如此。

EN

回答 1

Stack Overflow用户

发布于 2012-04-05 15:44:47

HTTP和JSON都是人类可读的。在Wireshark上,选择与您的HTTP事务相关的数据包,然后右键单击,选择Follow TCP Stream,这将以人类可读的形式显示事务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5052925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档