/hit-computer_network

哈工大《计算机网络》课程实验。

Primary LanguagePython

《计算机网络》实验

本项目为哈尔滨工业大学《计算机网络》实验的代码。使用Python语言进行编写。
软件学院将Python作为主要工作语言的人并不是很多,希望你我能将这份信仰坚持下去。
人生苦短,我用Python!

请在使用前用pip安装包依赖。

(sudo) pip install -r requirements.txt

目录

代理服务器

基本功能

  • 代理服务器的基本功能
  • 缓存机制的实现(待完善)
  • 屏蔽特定用户、特定网站以及钓鱼功能

项目说明

本项目在proxy文件夹下。
运行main.py脚本打开代理服务器,默认端口为5000。其中filter.json为屏蔽&钓鱼功能的配置文件。cache目录为缓存的数据。

可靠传输协议的实现

基本功能

  • GBN协议的实现
  • 实现数据的双向传输
  • SR协议的实现

项目说明

本项目在gbn文件夹下。
其中util.py脚本为gbn协议和sr协议的基本实现。而client.pyserver.py则为服务器和客户端的测试脚本。
基于20%的数据丢包率进行测试,采用双向传输,C->S和S->C分别使用GBN协议和SR协议进行测试。

使用Wireshark分析网络协议

基本功能

  • 使用Wireshark分析HTTP、TCP、IP协议
  • 使用Wireshark分析DNS、UDP、ARP协议

项目说明

在Ubuntu下可直接使用以下指令进行安装

sudo apt-get install wireshark

在运行wireshark时,一般用户没有抓包的权限。
官方推荐使用wireshark用户组的用户进行抓包,不建议使用superuser
如果仅为实验,方便起见可以使用超级管理员权限。

sudo wireshark

简单网络组件与配置

基本功能

按照实验指导书所示的网路拓扑,选择实体设备并进行网络连接。

项目说明

细节可参照实验指导书,仅保留实验报告。