struct 结构

//原始套接字学习笔记之代码结构
/*
*host端程序结构
*/

#include <>
#define ..

//主函数
int main()
{
    //建立发送线程
    pthread_t pthread_send;
   
    //建立接收线程
    pthread_t pthread_recv;
   
    //维持线程
    while(1)
    {

    }
}

//发送线程函数
void *thread_send()
{
    //创建socket
    sock_send=socket(PF_PACKET,SOCK_PACKET,htons(ETH_P_ALL));
   
    //设置包头

    //设置发包地址
    struct sockaddr send_addr;
   
    //创建发送程序
    while(1)
    {
        //合并包头
        makepkg(sendbuf,header);
       
        //发送数据包
        sendto();
    }
}

//创建接收线程
void *thread_recv()
{
    //创建socket
   
    //调用ethernet_setpormisc函数设置网卡为混杂模式
   
    //使用ifreq函数获取物理网卡接口索引,设置绑定物理网卡

    //接收数据包
    while(1)
    {
        //包头判定
       
        //数据输出
    }
}

//网卡设置混杂模式函数
void ethernet_setpormisc(int fd, int i_flags)

//合并包头函数
void makepkg(char buffer[], char header[])

猜你喜欢

转载自www.linuxidc.com/Linux/2016-03/128819.htm