1
ripperdev 2020 年 9 月 22 日
实时抓取网卡数据包再解析的,C 语言有 libpcap 库,C++有 libtins 库。
可以用 C/C++解析数据包,生成图表数据再提供给 PHP 展示用。 |
2
Chenamy2017 2020 年 9 月 22 日
抓包处理用 C ( libpcap ),php 只是后台而已。
|
3
sylar1015 2020 年 9 月 22 日
巧了,现有源码一套,实时 C 抓包、IP 组包,解析上层各种协议
|
4
LANB0 2020 年 9 月 22 日
原始套接字也算一个选择
|
5
reus 2020 年 9 月 22 日
PHP 的 web 服务器就直接用 socket api 啊,抓什么流量?
|
6
w2exzz 2020 年 9 月 22 日
tcpdump 和 wireshark 也是 C 写的啊……
所以 C 语言也能抓到流量…… 自己照着网上的教程写个 demo 就明白了 |
7
mXw 2020 年 9 月 22 日 自己用 raw socket 摸一遍流程就懂了
|
8
nomansky 2020 年 9 月 22 日
1. 使用 DPI 深度包检测技术
2. 底层一般都是调用 C 库 3. 可以保存成文件,流量大的情况但一般都是用缓存做临时保存 4. 根据协议特征分析,比如协议头、字段,握手等特征然后和特征库进行匹配 |
9
janxin 2020 年 9 月 22 日
libpcap 抓取流量
|
10
kangsheng9527 2020 年 9 月 22 日
netfilter 需要商业服务找我!
|
11
no1xsyzy 2020 年 9 月 23 日
wireshark 的终端版本 tshark 看 --help,里面直接指明了 -f 选项用的是 libpcap 的语法。
所以 libpcap 就成。 |
12
chanchancl 2020 年 9 月 23 日 3: 内核在初始化和启动网卡的时候,从驱动层取得 skb 之后,向上层 tcp/ip 转移的时候,会有 dump 点,将收到的信息传给外部函数,而 tcpdump 用了相关的系统调用,就可以收到这些包。
wireshark 用 libcap 去抓包,而 libcap 内的实现是建立 socket 时,指定一些参数,让数据包转发到自己的队列 |
13
zerofiny 2020 年 9 月 23 日
c 库 libpcap pfring 解析后发到 MQ 或者 IPC php 接收处理
|
14
zerofiny 2020 年 9 月 23 日
1. c 端一般做抓取 过滤协议
2.然后就把 packet 发给下层处理 (如果逻辑耗时太长就出现 kernel drop 问题) 3.下层 根据收到的 packet 根据需要 进行解析(比如 ip header 中的协议信息是在那个位置 rfc 中有说明) 4.入库展示. |