saidsef/scapy-containerised

GitHub: saidsef/scapy-containerised

将 Scapy 数据包分析工具容器化,通过 Web 终端提供交互式的网络流量分析与可视化能力,支持 Docker 和 Kubernetes 部署。

Stars: 5 | Forks: 3

# Scapy 容器化 这通过 TTYD 为您提供一个在容器/namespace 内部的 shell,您可以使用 Scapy 来分析网络流量。 Scapy 是一个强大的基于 Python 的交互式数据包操作程序和库。 Scapy 使用户能够发送、嗅探、解析和伪造网络数据包。这一能力允许构建可以探测、扫描或攻击网络的工具。 Scapy 既可以用作 shell,也可以用作库。欲了解更多详情,请参阅文档中的 [Scapy 入门](https://scapy.readthedocs.io/en/latest/introduction.html)。 ## 前置条件 - 容器运行时(需要以特权模式运行) - 一些 Python 知识 - 已阅读 [Scapy 文档](https://scapy.readthedocs.io/en/latest/introduction.html) ## 安装 按照以下步骤进行构建: ``` git clone https://github.com/saidsef/scapy-containerised ``` ``` docker build -t saidsef/scapy-containerised:latest . ``` ``` docker run -d --net=host --privileged -v /path/to/geoip2:/data docker.io/saidsef/scapy-containerised:latest ``` ``` conf.geoip_city = "/data/GeoLite.mmdb" conf.temp_files = "/tmp" trace = traceroute_map(["saidsef.co.uk"], verbose=0) trace.world_trace() ``` 然后访问: ``` http://localhost:8080 ``` 在浏览器终端中输入: ``` python -m scapy.__init__ ``` 以交互模式启动 Scapy。 ## 部署 ### HELM ``` helm repo add scapy https://saidsef.github.io/scapy-containerised/ helm repo update helm upgrade --install scapy scapy/scapy --namespace scapy --create-namespace ``` ### Kubectl ``` kubectl apply -k ./deployment ``` 要查看,请在本地绑定 Kubernetes service 端口: ``` kubectl port-forward --namespace scapy svc/scapy 8080:8080 ``` 然后访问: ``` http://localhost:8080 ``` ## 嗅探数据包 列出可用的层(layers): ``` help(scapy.layers) ``` Sniff 函数规范文档 ``` print sniff.__doc__ ``` ``` load_layer("http") get_if_list() sniff(iface="eth0", prn=lambda x: x.show(), lfilter=lambda x: HTTP in x, count=100) ``` 路由存储在 `conf.route` 中。您可以使用它来显示路由,或获取特定的路由信息: ``` conf.route ``` ## 使用 Matplotlib 绘图 对于某些特殊功能,Scapy 需要安装一些依赖项。 ``` p=sniff(iface="any", count=50) p.plot(lambda x:len(x)) ``` ## 使用 `pyx` 进行 PDF 导出 ``` p=IP()/ICMP() p.pdfdump("test.pdf", target="> /tmp") ``` ## 源码 我们最新最棒的 scapy-containerised 源码可以在 [GitHub](#deployment) 上找到。Fork 我们吧! ## 贡献 我们非常 :heart: 您通过提交 [pull request](https://github.com/saidsef/scapy-containerised/pulls) 来做出贡献。 请阅读官方的[贡献指南](./CONTRIBUTING.md)以获取有关如何做出贡献的更多信息。
标签:DevSecOps, Docker, GitHub, Helm, NIDS, Python, Scapy, TTYD, Web终端, 上游代理, 主动探测, 云存储安全, 协议分析, 嗅探, 子域名突变, 安全防御评估, 容器化, 密码管理, 无后门, 权限提升, 流量可视化, 网络安全, 网络工具, 网络扫描, 网络自动化, 请求拦截, 路由追踪, 逆向工具, 防御绕过, 隐私保护