文件名称:Linux下的多进程/线程网络通信
文件大小:20KB
文件格式:RAR
更新时间:2022-01-22 08:57:37
Linux
网络数据的抓取和分析已经成为通信大数据分析的重要内容之一。本作业要求在Linux下使用C语言实现一个抓取并分析网络数据的软件系统。该系统采用客户端和服务器端开发模式。在客户端,设计两个进程P1和P2同时读取网卡上的数据,P1读取数据后,负责将TCP报文中的头部数据写入到Packet文件中,P2读取数据后,负责将UDP报文的头部同样写入到Packet文件中。另外,还需要将数据发送到服务器端存储。服务器段软件需要一个进程接收客户端发送的文件,并将接收到的数据保存成一份文件。程序运行之后,用户可以随时终止程序的运行(比如按下CTRL+C),要求两个进程P1和P2在结束前将各自读取的报文数量(N_rev_P1、N_rev_P2)和各自写入Packet文件中报文的数量(N_wrt_P1、N_wrt_P2)分别写入Report文件中,并计算读取与写入的百分比(N_wrt_P1/N_rev_P1、N_wrt_P2/N_rev_P2)写入到Report文件。
【文件预览】:
源码
----服务器端()
--------test1.c(4KB)
--------Packet.txt(25KB)
--------Makefile(36B)
--------test1(13KB)
----客户端()
--------test1.c(8KB)
--------Report.txt(104B)
--------Packet.txt(13KB)
--------Makefile(36B)
--------test1(15KB)