Advertisement

Linux原始套接字抓取IEC61850-9-2(LE)SV数据包并显示的参考程序

阅读量:

通过在Linux系统中采用C语言的原生socket接口来捕获以太网数据链路层的信息。当捕获到的数据为IEC 61850-9-2 SV类型时,则进行处理。

源代码:

复制代码
 #include <stdio.h>

    
 #include <unistd.h>
    
 #include <sys/socket.h>
    
 #include <sys/types.h>
    
 #include <linux/if_ether.h>
    
 #include <linux/in.h>
    
 #define BUFFER_MAX 2048
    
  
    
 int main(int argc, char *argv[])
    
 {      
    
 int sock, n_read, eth_type;        
    
 char buffer[BUFFER_MAX];
    
 char  *eth_head;
    
    
    
 if((sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL))) < 0)
    
 {
    
 	fprintf(stdout, "create socket error/n");
    
     exit(0);

全部评论 (0)

还没有任何评论哟~