可编程网络实验室2023暑期纳新——第二次作业

发布时间 2023-08-10 20:06:30作者: ZephySky
可编程网络实验室2023暑期纳新 <班级的链接>
作业要求 <作业要求的链接>
作业目标 <学习并使用scapy工具和count-min sketch算法>

代码已上传至Github

一、scapy工具实现数据包的构造、发送和接收

首先在发送端构造数据包并发送

点击查看代码
from scapy.all import *

dst_ip = "192.168.163.133" #接受方ip
src_ip = "192.168.163.129" #发送方ip
packet = IP(src=src_ip,dst=dst_ip)/UDP(sport=12345,dport=54321)/Raw(load="Hello")

send(packet)

接下来在接收端接收数据包

点击查看代码
from scapy.all import *

dst_ip = 192.168.163.133
dst_port = 54321

def packet_handler(packet):
  if packet.haslayer(Raw):
    data = packetl[Raw].load.decode()
    print(f"Received: {datal}")
filter_rule = f"udp and dst host {dst_ip} and port {dst_port}"

sniff(filter=filter_rule, prn=packet_handler)

运行程序,接收端成功接收到数据包

三、遇到的问题
发送数据包时警告:提示WARNING: No route found (no default route?)

解决方法:安装Npcap

四、生活区问答题
Q:在人生道路上,你有没有专长的技能获取的成功经验?
A:多学,多想,多问,独立思考,坚持

Q:你有什么技能比大多数人(70%以上)更好?
A:感觉我的数学勉强可以达到70%的门槛,有在数学竞赛中获得过一些奖项

Q:你是如何学习C语言的,与你的高超技能相比,C语言的学习有什么经验和教训?
A:当时跟着参考书学习,然后在网上找一些练习写,遇到不会的题目先参考答案写一遍,过几天再独立写一次。