【问题标题】:Reload scapy conf重新加载 scapy 配置文件
【发布时间】:2015-05-10 03:33:01
【问题描述】:

我在整个应用程序的不同模块中使用了 scapy 两次。然而,其中一个模块创建了一个新的 multiprocessing.Process 并在其中执行系统调用 (308) 到网络命名空间。此时我需要重新加载 scapy,以便它重新定义其 conf 以与新的流程环境保持一致。

例如 diff 低于普通导入 ($1) 和 net namespace import ($2)

0a1
> 0
2c3
< AS_resolver = <scapy.as_resolvers.AS_resolver_multi instance at 0x1af3c68>
---
> AS_resolver = <scapy.as_resolvers.AS_resolver_multi instance at 0x7f6cd218bc68>
22c23
< iface      = 'TR_BR'
---
> iface      = 'lo'
34c35
< neighbor   = Ether -> ARP Ether -> IPv6 Dot3 -> IP Ether -> Dot1Q Ether -> L...
---
> neighbor   = Ether -> LLC Ether -> ARP Ether -> IPv6 Ether -> Dot1Q Ether ->...
47c48
< route6     = Destination Next Hop iface src candidates fe80::/64 :: UNTR_BR ...
---
> route6     = Destination Next Hop iface src candidates ::1/128 :: lo ::1

【问题讨论】:

  • 所以我可以用 conf.iface = 'lo' 更改 iface,我发现 conf.route.resync() 会重新计算路线...

标签: python module scapy system-calls


【解决方案1】:

通过更改解决:

conf.iface = 'lo'
conf.route.resync()

【讨论】:

  • 如果你能解释一下为什么会这样,对未来的读者可能会更好。
猜你喜欢
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多