Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
BaconSampler — 嗅探出站流量中可疑的、类似信标的回调,因为如果它定期不断回连,那很可能不是早餐。 | Kitploit
工具/GitHubGitHub/logisek/baconsampler
数据包嗅探与分析侦察取证分析信息收集网络安全威胁情报入侵检测DNS 分析日志分析
GitHublogisek/baconsampler

BaconSampler

嗅探出站流量中可疑的、类似信标的回调,因为如果它定期不断回连,那很可能不是早餐。

20168个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

Bacon Sampler

嗅探出站流量中可疑的信标式回调,因为如果它按时反复出现,那很可能不是早餐。

出站连接 (Windows + libpcap)

Bacon Sampler 是一款轻量级的出站连接捕获工具,它嗅探你网络流量中的“滋滋声”,并标记可疑的“信标式”行为——那些恶意软件喜欢用来与外界通信的周期性、低慢速回调。

它被动监控出站连接和 DNS 查询,然后突出显示诸如稳定间隔、重复目标、异常的抖动以及一致的数据包大小等模式——基本上任何看起来不像正常浏览行为、更像僵尸程序在等待指令的东西。

你可以把它想象成一个更美味的 Beacon Scanner:如果某个东西每次都在相同的时间返回……那我们就在品尝培根了。

功能特性

  • 支持 pcap 捕获,并可选择结合 netstat PID 关联
  • 反向 DNS 和 GeoIP(离线数据库或免费在线查询)
  • 支持按协议、远程端口范围和 IP CIDR 进行过滤
  • 分组汇总(按远程 IP、进程或国家),可选择显示前 N 个
  • 信标式活动检测(低慢速回调)
  • 可疑连接 + DNS 查询行为的模式检测
  • CSV/JSON 导出,附带衍生汇总文件
  • 可选 HTML 报告,包含所有表格

前提条件

  • Windows 11
  • Python 3.10+
  • Npcap(推荐),安装时选择“Install Npcap in WinPcap API-compatible Mode”
  • 用于离线 IP 国家查询的 GeoIP 数据库:
    • MaxMind GeoLite2 Country (.mmdb) 或 DB-IP Lite (.mmdb)
    • IP2Location LITE (.BIN)
  • 以管理员身份运行 PowerShell 以获得完整的可见性

安装

pip install -r requirements.txt

下载一个 GeoIP 数据库并记下路径:

  • GeoLite2 或 DB-IP Lite (.mmdb)
  • IP2Location LITE (.BIN)

如果你喜欢免费在线查询,你可以跳过这一步,改用 --geoip-online。

用法

用法示例(常用组合)

列出接口:

python capture_outbound.py --list-interfaces

按索引选择接口:

python capture_outbound.py --interface 0

使用多个接口(可重复指定):

python capture_outbound.py --interface "Ethernet" --interface "Wi-Fi"

或者使用逗号分隔的名称:

python capture_outbound.py --interfaces "Ethernet,Wi-Fi"

仅 pcap 捕获(A) + 离线 GeoIP:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"

Pcap + netstat 关联(B) + 离线 GeoIP:

python capture_outbound.py --mode pcap_plus_netstat --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"

Pcap + netstat 联合(A+B):

python capture_outbound.py --mode both --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"

在线 GeoIP(免费,有速率限制,缓存到磁盘):

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi

使用 IPinfo 令牌的在线 GeoIP:

$env:IPINFO_TOKEN="your_token_here"
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo

或者显式传递令牌:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo --geoip-online-token "your_token_here"

调整在线 GeoIP 超时和重试次数:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi --geoip-timeout 2.5 --geoip-retries 1

禁用反向 DNS(加快运行速度):

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --no-dns

调整 DNS 超时:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --dns-timeout 0.5

按数据包数量限制捕获:

python capture_outbound.py --mode pcap --duration 60 --packet-limit 5000

按协议、远程端口和 IP CIDR 过滤:

python capture_outbound.py --filter-protocol tcp --filter-port 80,443,1000-2000 --allow-ip 1.2.3.0/24 --deny-ip 1.2.3.4/32

分组汇总和 top N:

python capture_outbound.py --group-by remote_ip,process --top 10

追踪每个连接的总字节数:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --track-bytes

禁用进度输出:

python capture_outbound.py --no-progress

禁用控制台输出:

python capture_outbound.py --no-console

用法示例(高级组合)

Pcap + netstat 联合(A+B) + 在线 GeoIP + 写入 pcap + CSV + HTML:

python capture_outbound.py --mode both --duration 20 --interface "Ethernet,Wi-Fi" --geoip-online ipapi --pcap-out "C:\Path\capture.pcap" --csv "C:\Path\outbound.csv" --html "C:\Path\outbound.html"

仅 pcap + 输出文件夹 + 自定义 CSV/JSON 名称:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --output-dir "C:\Path\Reports" --csv "C:\Path\Reports\outbound.csv" --json "C:\Path\Reports\outbound.json"

信标式活动检测(低慢速回调):

python capture_outbound.py --duration 300 --beacon-min-duration 120 --beacon-min-interval 60 --beacon-max-interval 1800 --beacon-max-jitter 10 --beacon-min-packets 6 --beacon-max-rate 0.05

模式检测(稳定间隔、抖动、重复目标、一致大小):

python capture_outbound.py --duration 300 --track-bytes --pattern-high-jitter 120 --pattern-repeat-destination 4 --pattern-max-byte-jitter 64 --dns-pattern-min-queries 4

紧凑的信标 + 模式阈值与过滤:

python capture_outbound.py --duration 600 --filter-protocol tcp --filter-port 443 --track-bytes --beacon-min-duration 180 --beacon-min-interval 90 --beacon-max-interval 900 --beacon-max-jitter 5 --beacon-min-packets 8 --pattern-high-jitter 60 --pattern-repeat-destination 5 --pattern-max-byte-jitter 32

DNS 聚焦捕获(快速 DNS 查询 + DNS 模式):

python capture_outbound.py --duration 180 --dns-timeout 0.25 --dns-pattern-min-queries 5 --pattern-repeat-destination 3

输出

  • 默认控制台表格
  • CSV:outbound_connections.csv
  • JSON:outbound_connections.json
  • HTML:--html "report.html"
  • 信标发现:*_beacon_findings.csv / *_beacon_findings.json
  • 连接模式:*_connection_patterns.csv / *_connection_patterns.json
  • DNS 模式:*_dns_patterns.csv / *_dns_patterns.json
  • 唯一连接:*_unique_connections.csv / *_unique_connections.json
  • 唯一进程:*_unique_processes.csv / *_unique_processes.json
  • 分组汇总:*_group_remote_ip*.csv/json、*_group_process*.csv/json、*_group_country*.csv/json

自定义 CSV/JSON 输出路径:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --csv "C:\Path\outbound.csv" --json "C:\Path\outbound.json"

将所有输出发送到文件夹:

python capture_outbound.py --mode pcap --duration 20 --output-dir "C:\Path\Reports"

写入 HTML 输出:

python capture_outbound.py --html "outbound.html"

写入 pcap 文件:

python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --pcap-out "capture.pcap"

命令行选项

  • --mode {pcap,pcap_plus_netstat,both}:捕获策略(默认:pcap)
  • --duration SECONDS:捕获持续时间(默认:15)
  • --packet-limit COUNT:在 N 个数据包后停止(0 = 无限制)
  • --list-interfaces:显示 Npcap 接口并退出
  • --interface NAME:捕获接口名称(可重复)
  • --interfaces "NAME,NAME":逗号分隔的接口名称
  • --filter-protocol tcp,udp:协议过滤器(可重复或逗号分隔)
  • --filter-port 80,443,1000-2000:远程端口过滤器
  • --allow-ip CIDR:允许的远程 IP CIDR
  • --deny-ip CIDR:拒绝的远程 IP CIDR
  • --group-by remote_ip,process,country:分组汇总输出
  • --top N:将分组汇总限制为前 N 行
  • --beacon-min-duration SECONDS:信标检测的最小持续时间
  • --beacon-min-packets COUNT:信标检测的最小数据包数
  • --beacon-min-interval SECONDS:信标检测的最小平均间隔
  • --beacon-max-interval SECONDS:信标检测的最大平均间隔
  • --beacon-max-jitter SECONDS:信标检测的最大间隔抖动
  • --beacon-max-rate PPS:信标检测的最大每秒数据包数
  • --pattern-high-jitter SECONDS:随机模式中的间隔抖动阈值
  • --pattern-repeat-destination COUNT:标记重复目标所需的最小连接数
  • --pattern-max-byte-jitter BYTES:一致性检查的最大字节大小范围
  • --dns-pattern-min-queries COUNT:标记模式所需的最小 DNS 查询数
  • --csv PATH:CSV 输出路径(默认:outbound_connections.csv)
  • --json PATH:JSON 输出路径(默认:outbound_connections.json)
  • --html PATH:HTML 报告输出路径
  • --pcap-out PATH:将捕获的数据包写入 pcap
  • --output-dir PATH:将所有输出文件写入此目录
  • --no-console:禁用控制台表格输出
  • --no-progress:禁用进度输出
  • --log-json:将警告/错误以 JSON 行格式发送到 stderr
  • --track-bytes:在可用时追踪每个连接的总字节数
  • --geoip-db PATH:GeoIP 数据库路径(.mmdb 或 IP2Location .BIN)
  • --geoip-db-type {auto,maxmind,dbip,ip2location}:GeoIP 数据库类型(默认:auto)
  • --geoip-online {ipapi,ip-api,ipinfo}:使用免费在线 GeoIP 服务(有速率限制)
  • --geoip-online-token TOKEN:在线 GeoIP 提供商的 API 令牌(例如 IPinfo)
  • --geoip-cache-path PATH:覆盖在线 GeoIP 缓存 JSON 路径
  • --geoip-timeout SECONDS:在线 GeoIP 请求超时(默认:3.0)
  • --geoip-retries COUNT:在线 GeoIP 重试次数(默认:2)
  • --no-dns:禁用反向 DNS 查询
  • --dns-timeout SECONDS:DNS 查询超时(默认:2.0)

输出数据

主要输出(--csv/--json)包含的字段:

下载工具