eCapture v0.7.4发布,支持Pcap Filter包过滤语法

admin 2024年2月26日11:41:44评论14 views字数 2900阅读9分40秒阅读模式

eCapture是什么

eCapture旁观者[1]一个无需CA证书,无侵入的HTTPS/TLS明文抓包工具。可以在Linux 4.18以上版本使用,同时也支持Android arm64 5.5以上版本。项目在2022年4月发布,目前7900颗星。eCapture v0.7.4发布,支持Pcap Filter包过滤语法

超强特性 :Pcap Filter 包过滤

eCapture v0.7.4版本发布支持Pcap Filter Syntax[2],你可以像tcpdump一样使用pcap filter表达式来过滤网络包。

tlsgotls模块中,当运行模式参数-mpcap时,支持pcap filter表达式。在命令行最后的参数中设定,例如:

eCapture v0.7.4发布,支持Pcap Filter包过滤语法
sudo bin/ecapture tls -m pcap -i ens160 -w a.pcapng host 1.1.1.1 or src port 443
[sudo] password for cfc4n:
tls_2024/02/25 07:23:27 ECAPTURE :: ecapture Version : linux_aarch64:0.7.3-20240222-f50b9de:[CORE]
tls_2024/02/25 07:23:27 ECAPTURE :: Pid Info : 884394
tls_2024/02/25 07:23:27 ECAPTURE :: Kernel Info : 5.15.131
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL module initialization
tls_2024/02/25 07:23:27 ECAPTURE :: Module.Run()
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL: Pcapng MODEL
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL OpenSSL/BoringSSL version not found from shared library file, used default version:linux_default_3_0
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL HOOK type: 2, binrayPath: /usr/lib/aarch64-linux-gnu/libssl.so.3
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL PcapFilter: host 1.1.1.1 or src port 443
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL Ifname: ens160, Ifindex: 2
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL Hook masterKey function: [SSL_get_wbio SSL_in_before SSL_do_handshake]
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL target all process.
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL target all users.
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL: BPF bytecode filename:user/bytecode/openssl_3_0_0_kern.o
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL saving pcapng file: /home/cfc4n/project/ecapture/a.pcapng
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL: perfEventReader created. mapSize:4 MB
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL: perfEventReader created. mapSize:4 MB
tls_2024/02/25 07:23:27 EBPFProbeOPENSSL module started successfully.
tls_2024/02/25 07:23:27 ECAPTURE ::  start 1 modules

eCapture 指令图解

很多同学对ecapture的使用方式不了解,eCapture的module模块mode模式两个功能点经常混淆,运行出错后,文档不看,help命令也不看。遇到问题后,直接到公众号问我,弄得我很头大。这次也按照思维导图的方式,简单画个图解,以便更直观地熟悉eCapture。eCapture v0.7.4发布,支持Pcap Filter包过滤语法

在个别Android的发行版上,pcap filter过滤语法可能没有效果,未来会修复。

技术原理

本功能由Leon Hwang[3]大神贡献,感谢他春节期间的付出。详情见:feat: Support pcap-filter expression for pcap mode #478[4]

  1. libpcap 编译 pcap filter 表达式的过滤内容为cbpf字节码
  2. cbpf字节码转为ebpf字节码
  3. ebpf字节码插入到eCapture的TC HOOK字节码中
  4. 由内核加载全部eBPF字节码,实现表达式过滤
eCapture v0.7.4发布,支持Pcap Filter包过滤语法

依赖

  • elibpcap[5]
  • cbpfc[6]
  • ebpfmanager v0.4.5[7] (eBPF bytecode InstructionPatchers)

下载

eCapture v0.7.4 下载地址[8]

参考资料
[1]

eCapture旁观者: https://ecapture.cc

[2]

Pcap Filter Syntax: https://www.tcpdump.org/manpages/pcap-filter.7.html

[3]

Leon Hwang: https://github.com/asphaltt

[4]

feat: Support pcap-filter expression for pcap mode #478: https://github.com/gojue/ecapture/pull/478

[5]

elibpcap: https://github.com/jschwinger233/elibpcap

[6]

cbpfc: github.com/cloudflare/cbpfc

[7]

ebpfmanager v0.4.5: https://github.com/gojue/ebpfmanager

[8]

eCapture v0.7.4 下载地址: https://github.com/gojue/ecapture/releases/v0.7.4


                                                                             2024年2月25日 高铁G26

原文始发于微信公众号(榫卯江湖):eCapture v0.7.4发布,支持Pcap Filter包过滤语法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月26日11:41:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   eCapture v0.7.4发布,支持Pcap Filter包过滤语法https://cn-sec.com/archives/2524493.html

发表评论

匿名网友 填写信息