scapy中是否有用于TCP和UDP的常量?

用户名

scapy中是否有用于TCP和UDP的常量?

我的意思是

TCP=6, UDP=17 

ETC...

丁丁

a)查找实现,因为IP我们看到这IP.proto是一个ByteEnumField("proto", 0, IP_PROTOS),这意味着,它将从IP_PROTOS仅加载os列表中获取值/etc/protocols/因此,您可以/etc/protocols自己解析,或者已经加载了scapy,则可以IP_PROTOS直接访问该对象:

>>> IP_PROTOS
</etc/protocols/ pim ip ax_25 esp tcp ah mpls_in_ip rohc ipv6_opts xtp st mobility_header dccp igmp ipv6_route igp ddp etherip wesp xns_idp ipv6_frag vrrp gre ipcomp encap ipv6 iso_tp4 sctp ipencap rsvp hip udp ggp hmp idpr_cmtp hopopt fc skip icmp pup manet isis rdp l2tp ipv6_icmp udplite egp ipip ipv6_nonxt eigrp idrp shim6 rspf ospf vmtp>
>>> IP_PROTOS.tcp
6
>>> IP_PROTOS.udp
17
>>> IP_PROTOS.ip
0

b)一种替代方法是直接读取鱼骨层绑定信息。这是您(或scapy core本身)调用时添加到图层上的信息bind_layers(lower,upper[,overload_fields])您可以轻松阅读以下信息:

>>> TCP.overload_fields
{<class 'scapy.layers.inet6.IPv6'>: {'nh': 6}, <class 'scapy.layers.inet.IP'>: {'frag': 0, 'proto': 6}}

意味着,如果TCP是IPv4(scapy.layers.inet.IP的有效负载,它将被覆盖IP.proto=6这是关于UDP的相同信息

>>> UDP.overload_fields
{<class 'scapy.layers.inet6.IPv6'>: {'nh': 17}, <class 'scapy.layers.inet.IP'>: {'frag': 0, 'proto': 17}}

供参考,这是TCP / UDP的bind_layers调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否有用于存储原材料,中间产品和最终产品的MYSQL表架构?

在Java中是否有用于截断double的函数?

是否有用于Rust的gzip库?

Emacs中是否有用于命令的`flet`?

MacOS中是否有用于“ struct timeval”的nanosleep函数?

Android中是否有用于ImageView内容的工具属性?

WooCommerce中是否有用于产品描述的简码

vscode中是否有用于自动导入角度接口的有用扩展(例如:ActivatedRoute)?

在RingCentral Glip中是否有用于共享附件的API?

Jinja中是否有用于记录宏的正式格式?

是否有用于Linux的pthreads替代品可用于并行执行和内存共享?

是否有用于检查Dart中的空字符串和/或空字符串的较短版本?

数组文字中是否有用于动态索引的符号?

是否有用于正向和反向迭代器的迭代器包装器?

PyTorch中是否有用于矩阵左除的函数?

是否有用于OpenBSD的PaxTest?

在Android上是否有用于管理TCP数据包的库?

是否有用于“

.Net中是否有用于管理HTML对象的类?

是否有用于UWP的振动API?

是否有用于编辑/添加用户和组的GUI

是否有用于IntelliJ的ASTNode库?

是否有用于 XML 的 SQL?

是否有用于删除文本中字符的 Python 函数?

是否有用于排序和查找值是否已存在于 C++ 中的函数?

fauxton 中是否有用于 CouchDb 的列表、显示和更新功能编辑器?

在 RcppAlgos 中,是否有用于检查迭代器是否为假的文档?

是否有用于 RDD 的 trim() 函数?

是否有用于在 powershell 中解析 toml 文件的模块?