在Python中创建IPv4数据包头

0 投票
2 回答
7021 浏览
提问于 2025-04-16 14:30

为了我的大项目,我需要先创建一个IPv4网络数据包(用于模拟)。

为此,我需要写一个函数,从传入的数据中创建一个头部,这个头部包含源IP、目标IP以及所有必要的字段。

def convertIpv4( data ):
     pass

所以我需要你给我一些正确的指导。

首先,我需要把IP地址存储为32位的格式。如果我有一个字符串“192.168.2.1”,那么把它转换成32位的字节,最有效的方法是什么呢?

另外,如果我先创建一个普通的类,里面有版本号(version = 4)、源IP和目标IP,那么有没有办法直接把它转换成一个字节数组,位置和下面的头部一样呢?IPHeader

请告诉我该怎么进行……

2 个回答

1

Scapy 是一个可以轻松创建IP头部的工具。
这里有一个关于如何创建IP头部的例子。

0

可以看看这个叫 PyIP 的模块。

撰写回答