Chr*_*nch 6 python networking scapy
我对Python比较陌生,并且在使用Python网络操作工具Scapy编程时遇到了问题.但是,我不知道它是否与Scapy问题一样多,因为它是一个傻瓜新手问题.在scapy网站上,他们提供了一个我无法在自己的机器上运行的示例程序:
#! /usr/bin/env python
import sys
from scapy import sr1,IP,ICMP
p=sr1(IP(dst=sys.argv[1])/ICMP())
if p:
p.show()
Run Code Online (Sandbox Code Playgroud)
我得到了:
Traceback (most recent call last):
File "test.py", line 4, in <module>
from scapy import sr1,IP,ICMP
ImportError: cannot import name sr1
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:在安装Python库时,我是否需要更改路径或类似内容?另外,我可以在解释器中运行一些东西来告诉我scapy包的内容吗?我可以运行from scapy import *得很好,但由于我不知道里面有什么,所以很难使用它.
来自Federico Ramponi的警告"你应该使用scapy作为自己的翻译,而不是作为一个图书馆",我想回答问题的非scapy特定部分.
问:安装Python库时,是否需要更改路径或类似内容?
答:我认为你在谈论改变PYTHONPATH整个系统.这通常不是必需的或者是个好主意.
第三方Python库应安装在系统目录中,例如/usr/lib/python2.5/site-packages,或安装在本地,在这种情况下,您可能希望PYTHONPATH在Makefile或驱动程序shell脚本中进行设置.
问:另外,我可以在翻译中运行一些东西来告诉我scapy包的内容吗?
答:您可以这样做:
>>> import scapy
>>> dir(scapy)
Run Code Online (Sandbox Code Playgroud)
甚至更好:
>>> import scapy
>>> help(scapy)
Run Code Online (Sandbox Code Playgroud)
在评论中提出了奖金问题.
问: "进口scapy"与'scapy import*'相同吗?
答: import scapy将本地命名空间中的scapy名称绑定到scapy模块对象.OTOH from scapy import *不绑定模块名称,但scapy模块中定义的所有公共名称都绑定在本地名称空间中.
请参阅Python参考手册的第6和第7段,6.12 import语句.
| 归档时间: |
|
| 查看次数: |
4630 次 |
| 最近记录: |