小编olp*_*phy的帖子

子进程中带有tcpdump的Python:如何正确关闭子进程?

我有一个Python脚本来捕获网络流量与tcpdumpsubprocess

p = subprocess.Popen(['tcpdump', '-I', '-i', 'en1',
                  '-w', 'cap.pcap'], stdout=subprocess.PIPE)
time.sleep(10)
p.kill()
Run Code Online (Sandbox Code Playgroud)

当此脚本完成工作时,我正在尝试.pcap在Wireshark中打开输出文件并得到以下错误:

“捕获文件似乎在数据包中间被剪切了。”

有什么解决方案可以适用于“正确”收盘tcpdumpsubprocess

python subprocess tcpdump python-2.7

5
推荐指数
1
解决办法
2425
查看次数

Go:如何使用中间件模式?

我有一个仅在特定条件下执行的函数(例如role == 'Administrator')。现在,我使用“if”语句。但也可能存在条件数量较多且定义较长的“if”看起来不那么美观的情况。
Go 中(或与 Go 框架相关)是否有可用的机制允许实现中间件概念(动作过滤器)?

例如,ASP.NET MVC 允许执行以下操作:

[MyFilter]
public ViewResult Index()
{
     // Filter will be applied to this specific action method
}
Run Code Online (Sandbox Code Playgroud)

因此,在单独的类中实现 MyFilter() 可以更好地进行代码组合和测试。

更新: Revel(Go 的 Web 框架)提供与拦截器类似的功能(框架在操作调用之前或之后调用的函数):https://revel.github.io/manual/interceptors.html

design-patterns go

0
推荐指数
1
解决办法
2825
查看次数

标签 统计

design-patterns ×1

go ×1

python ×1

python-2.7 ×1

subprocess ×1

tcpdump ×1