我看到了一些关于该主题的帖子,但没有任何效果,当我将 Scapy 导入 Pycharm 社区 3.1.4 版时,它不起作用,我以多种方式尝试了它:
i,o,e = sys.stdin,sys.stdout,sys.stderr
from scapy.all import *
sys.stdin,sys.stdout,sys.stderr=i,o,e
def main():
"""
Add Documentation here
"""
syn_segment = TCP(dport=80, seq=123, flags='S')
syn_segment.show()
my_packet = IP(dst='www.google.com')/syn_segment
my_packet.show()
send(my_packet)
print syn_segment
但它没有用:(当我在这里看到其中一个答案时,那就是:
from scapy.layers.inet import *
它给了我回报:
Traceback (most recent call last):
File "C:/Users/RT/Pycharm`enter code here`Projects/scaLY/SCAP.py", line 4, in <module>
from scapy.layers.inet import *
File "C:HeightsPortableAppsPortablePython2.7.6.1Applibsite-packagesscapylayersinet.py", line 17, in <module>
from scapy.layers.l2 import *
File "C:HeightsPortableAppsPortablePython2.7.6.1Applibsite-packagesscapylayersl2.py", line 16, in <module>
from scapy.ansmachine import *
File "C:HeightsPortableAppsPortablePython2.7.6.1Applibsite-packagesscapyansmachine.py", line 14, in <module>
from scapy.sendrecv import send,sendp,sniff
File "C:HeightsPortableAppsPortablePython2.7.6.1Applibsite-packagesscapysendrecv.py", line 15, in <module>
from scapy.arch.consts import DARWIN, FREEBSD, OPENBSD
File "C:HeightsPortableAppsPortablePython2.7.6.1Applibsite-packagesscapyarch__init__.py", line 96, in <module>
from scapy.arch.windows.compatibility import *
File "C:HeightsPortableAppsPortablePython2.7.6.1Applibsite-packagesscapyarchwindowscompatibility.py", line 172, in <module>
scapy.sendrecv.sndrcv = sndrcv
AttributeError: 'module' object has no attribute 'sendrecv'
您使用的是旧版本的Scapy(compatibility.py
文件很久以前就被删除了(
您应该尝试通过pip install --upgrade scapy
(或类似(从 pycharm 控制台中更新它。确保在正在使用的 Python 安装上更新包。
另请注意,最新版本的 Scapy 不会修改sys.stdout
...就像他们以前一样。这是对未在Windows上打印的ANSII字符的修复,现在IPython以更简洁的方式处理。