C 语言是怎么抓取网口流量的数据包并解析的?
資深大佬 : mikywei 1
1. 现在很多的硬件盒子(路由器、防火墙、WAF 、网络审计)都是 php 的后台,这些硬件盒子也算服务器,但性能不高不大可能运行其它后台语言,但听说又是用 C 语言抓取网口流量,然后交给 php 处理的;
2. 很好奇这些硬件盒子是怎么用 C 语言和 php 拿到网口流量的数据,一般我们抓包都是用 tcpdump 和 wireshark 才行,php 怎么拿到网卡数据的呢?
3. C 语言和 php 是怎么解析网口的流量的呢?是先保存成 pcap 的数据包然后再用相关 php 函数进行解析?还是能实时抓到网口的数据实时解析出来呢?
4. 关于解析:我说的解析就是把原本网口的流量还原成两个 ip 和端口相互通信的会话,然后再识别出这个会话的协议是 http 、ftp 、dns 、ssh 、telnet 、mysql 、icmp 或者其它的网络协议。
2. 很好奇这些硬件盒子是怎么用 C 语言和 php 拿到网口流量的数据,一般我们抓包都是用 tcpdump 和 wireshark 才行,php 怎么拿到网卡数据的呢?
3. C 语言和 php 是怎么解析网口的流量的呢?是先保存成 pcap 的数据包然后再用相关 php 函数进行解析?还是能实时抓到网口的数据实时解析出来呢?
4. 关于解析:我说的解析就是把原本网口的流量还原成两个 ip 和端口相互通信的会话,然后再识别出这个会话的协议是 http 、ftp 、dns 、ssh 、telnet 、mysql 、icmp 或者其它的网络协议。
大佬有話說 (14)