- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
35-收集并统计网络TCP流量_winpcap
山东建筑大学题 目:课 程:院 (部):专 业:班 级:学生姓名:学 号:指导教师:完成日期:课程设计任务书 I
收集并统计网络TCP流量 1
一、问题描述 1
二、基本要求 1
三、设计思想 1
四、系统结构 1
五、程序流程 1
六、源程序 3
七、测试数据 5
八、测试情况 6
结 论 7
山东建筑大学计算机科学与技术学院
课程设计任务书
设计题目 收集并统计网络TCP流量 已知技术参数和设计要求 1.设计内容与步骤
2.学习WinPCap编程的基本方法;
4.TCP流量统计系统的设计与实现
6.课程设计任务说明书 1.学习WinPcap流量统计编程的基本方法 4小时
2调试方法 2小时
3 4小时
4.TCP流量统计系统设计 16小时
5.课程设计说明书 14小时 设计考核要求 1.出勤 20%
2.答辩或演示30%
3.课程设计说明书 50% 收集并统计网络TCP流量
一、问题描述
编程实现简单的TCP流量统计器,TCP流量统计器通过各种科学的方式,准确的纪录来访某一页面的访问者的流量信息思想
TCP流量统计器通过Jpacp与winpcap来进行抓包,JPCAP调用wincap,而给 JAVA语言提供一个公共的接口WinPcap是用于网络封包抓取的一套工具结构
首先用getDeviceList()方法获取网卡设备号,在用openDevice()方法打开指定设备,然后开始用loopPacket()方法获取数据包,最后进行输出。
五、程序流程
首先获取设备然后打开设备之后获取数据包最后进行输出,具体的流程图如下:
获取设备列表:
final NetworkInterface[] devices = JpcapCaptor.getDeviceList();
打开指定设备:
JpcapCaptor jpcap = JpcapCaptor.openDevice(ni, 2000, true,20);
获取数据包:
this.jpcap.loopPacket(-1, new ReceivePacket(this.ipAddr));
输出信息:
Tcpflowstatistics.jta.append(TCPPacket+\n);
Tcpflowstatistics.jta.append(|——*此数据包的源IP地址: + tcp.src_ip+\n);
Tcpflowstatistics.jta.append(|——*此数据包的目的IP地址: + tcp.dst_ip+\n);
Tcpflowstatistics.jta.append(|——*此数据包的发送端口号: + tcp.src_port+\n);
Tcpflowstatistics.jta.append(|——*此数据包的接收端口号: + tcp.dst_port+\n);
Tcpflowstatistics.jta.append(|——*此数据包的源MAC地址: + ethernetPacket.getSourceAddress()+\n);
Tcpflowstatistics.jta.append(|——*此数据包的目的MAC地址: + ethernetPacket.getDestinationAddress()+\n);
Tcpflowstatistics.jta.append(|——*此数据包的传输层协议类型: + tcp.protocol + (TCP)+\n);
Tcpflowstatistics.jta.append(|——*此数据包的长度: + tcp.len+\n);
六、源程序
public class Tcpflowstatistics {
private static Tcpflowstatistics ts;
private boolean flag = true;
JFrame jf;
JButton bt1, bt2, bt3, bt4;
static JTextArea jta;
JScrollPane jsp;
JPanel jp1;
Tcpflowstatistics() {
jf = new JFrame(TGP流量统计器);
jf.setLayout(new BorderLayout());
jf.setVisible(t
文档评论(0)