用Python制作自定义数据包可以吗?
我知道这是可能的,可以使用像scapy这样的外部库和模块。但是如果不使用外部模块呢?不以管理员身份运行脚本?没有外部依赖呢?
我查了很多资料,但没找到太多帮助。我想自己创建数据包,但不想以管理员身份运行,也不想安装额外的依赖。
有什么建议吗?
2 个回答
2
下面是如何用Python编写原始的ICMP“ping”数据包:
1
很多操作系统(比如Linux)不允许使用原始套接字,除非你的有效用户ID是0,也就是超级用户(root)。这并不是库的问题。有些操作系统(比如非服务器版的Windows,尤其是Windows XP SP2之后的版本)根本不允许创建原始套接字。
你可以通过在你的系统上输入 man 7 raw 来了解更多关于原始套接字的信息。需要注意的是,所有的套接字选项都可以通过Python的套接字模块来设置。