Linux 编程大作业要求
2017/2018 第一学期
作业题目
Linux 下的多进程/线程网络通信
作业目标
要求学生熟练掌握《Linux 编程》课程中的知识点,包括 Linux 常用命令、bash
脚本、编译和调试环境、读写文件、进程间通信和网络编程等。基于以上知识点,
分组编程完成本作业的具体要求。
问题描述
图 1 Linux 编程大作业示意图
网络数据的抓取和分析已经成为通信大数据分析的重要内容之一。本作业要求
在 Linux 下使用 C 语言实现一个抓取并分析网络数据的软件系统。该系统采用客户
端和服务器端开发模式。在客户端,设计两个进程 P
1
和 P
2
同时读取网卡上的数据,
P
1
读取数据后,负责将 TCP 报文中的头部数据写入到 Packet 文件中,P
2
读取数据
后,负责将 UDP 报文的头部同样写入到 Packet 文件中。另外,还需要将数据发送