用Python制作自定义数据包可以吗?

3 投票
2 回答
5882 浏览
提问于 2025-04-15 22:45

我知道这是可能的,可以使用像scapy这样的外部库和模块。但是如果不使用外部模块呢?不以管理员身份运行脚本?没有外部依赖呢?

我查了很多资料,但没找到太多帮助。我想自己创建数据包,但不想以管理员身份运行,也不想安装额外的依赖。

有什么建议吗?

2 个回答

2

下面是如何用Python编写原始的ICMP“ping”数据包:

http://www.g-loaded.eu/2009/10/30/python-ping/

1

很多操作系统(比如Linux)不允许使用原始套接字,除非你的有效用户ID是0,也就是超级用户(root)。这并不是库的问题。有些操作系统(比如非服务器版的Windows,尤其是Windows XP SP2之后的版本)根本不允许创建原始套接字。

你可以通过在你的系统上输入 man 7 raw 来了解更多关于原始套接字的信息。需要注意的是,所有的套接字选项都可以通过Python的套接字模块来设置。

撰写回答