Python包嗅探器和sockets的Noobs

Python包嗅探器和sockets的Noobs,第1张

概述Python包嗅探器和sockets的Noobs

所以我有关于套接字和嗅探器编程的一些问题…我刚开始编程,并有一个项目,我想要使用通过我的networking发送的信息。

我试着在YouTube上观看几个关于这个过程的vIDeo,试图find更好的材料来进一步研究,但是我一直没能find对我有意义的来源。

我收录的代码来自YouTube上的一个vIDeo,在他们解释这个vIDeo时似乎是有道理的,但是我想他可能已经在使用linux或者其他的东西,因为windows不支持AF_PACKET。 经过一番研究,我发现人们使用AF_INET,但我得到了错误:

OSError:[WinError 10043]请求的协议尚未configuration到系统中,或者没有实现它的存在

我怎样才能嗅探本地stream量

WinUSB应用程序或用户模式驱动程序作为USB分析/嗅探器/趋势的filter驱动程序

我应该如何使用strace来嗅探串口?

有没有一个地方或某种方式可以为我解释套接字? 我不打算在这个项目的最终版本中使用windows,而且我也计划在未来对蓝牙进行修改,所以如果我能find办法做到这一点,我想了解一下背后的原因。

导入套接字导入结构导入textwrap

def main(): conn = socket.socket(socket.AF_INET,socket.soCK_RAW,socket.ntohs(3)) while True: raw_data,addr = conn.recvfrom(65535) dest_mac,src_mac,eth_proto,data = ethernet_frame(raw_data) print('nEthernet Frame:') print('Destination: {},Source: {},Protocol: {}'.format(dest_mac,data[:14])) #unpack ethernet frame def ethernet_frame(data): dest_mac,proto = struct.unpack('! 6s 6s H',data[:14]) return get_mac_addr(dest_mac),get_mac_addr(src_mac),socket.htons(proto),data[14:] #Get Mac Address def get_mac_addr(bytes_addr): bytes_str = map('{:02x}'.format,bytes_addr) return ':'.join(bytes_str).upper() main()

`

您使用套接字进行数据包嗅探的 *** 作系统是:

linux的

IRIX

windows不在该列表中(名称中不含“BSD”,OS X,Solaris,HP-UX,AIX等)。 linux和Irix都碰巧使用套接字来进行嗅探,但是这只是他们的选择(而且他们没有选择相同类型的套接字,他们恰好选择了套接字)。

如果你想写一个嗅探器,最好建议使用一个libpcap / WinPcap的包装,让他们处理在特定的 *** 作系统上完成数据包嗅探的痛苦细节。 Python的包装器包括pylibpcap和pcapy ; 我不知道他们中的任何一个是否在windows上使用WinPcap工作。

(请注意,您不能保证在嗅探的数据包上获得以太网标头;您应该调用pcap_datalink() ,或者任何包装的等价物,并检查其返回值 – 如果不是DLT_EN10MB ,或者包装的等价物,则不会获得以太网头。)

在任何平台上的AF_INET原始套接字不会给你以太网头。 我不知道你会得到什么协议参数为3 – 3是GGP的互联网协议号码,根据RFC 823附录A,该协议是古老的,没有使用据我所知; 你可能会得到一个套接字,你可以在其上发送GGP数据包,并从中可以接收GGP数据包,这是值得的(这不是很多)。 (另外,C语言中的socket()调用的参数是按照主机字节顺序的,而且Python可能也是一样的,所以你可能不需要socket.ntohs()在那里, 。)

总结

以上是内存溢出为你收集整理的Python包嗅探器和sockets的Noobs全部内容,希望文章能够帮你解决Python包嗅探器和sockets的Noobs所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1267613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存