为什么 scapy 模块在 pycharm 社区版本 3.1.4 中不起作用



我看到了一些关于该主题的帖子,但没有任何效果,当我将 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以更简洁的方式处理。

最新更新