Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决这个问题;TypeError";:没有一个_Python - Fatal编程技术网

Python 如何解决这个问题;TypeError";:没有一个

Python 如何解决这个问题;TypeError";:没有一个,python,Python,我想用ProfiNet协议来模拟发送数据包。该程序在Linux下运行良好,但出于某种原因,我想让它在windows下运行,当我尝试让它运行时,我得到了以下结果: >>>python Fuzzer.py -w false -s 00:1E:37:3A:CC:50 -d 6c:ae:8b:29:6f:72 -t dcp -i eth0 -c 100 Profinet Fuzzer. Call it like Fuzzer.py -w false -s 00:19:99:9d:

我想用ProfiNet协议来模拟发送数据包。该程序在Linux下运行良好,但出于某种原因,我想让它在windows下运行,当我尝试让它运行时,我得到了以下结果:

>>>python Fuzzer.py -w false -s 00:1E:37:3A:CC:50 -d 6c:ae:8b:29:6f:72 -t dcp -i eth0 -c 100


Profinet Fuzzer. Call it like
Fuzzer.py -w false  -s 00:19:99:9d:ed:ab -d 00:1b:1b:17:ba:8a -t pnio -i eth0 -c 10
or try Fuzzer.py -h for help.
Needs Administrator-Rights to send packages!


Fuzzing will start with following parameters:
Source:                 00:1E:37:3A:CC:50
Destination:            6c:ae:8b:29:6f:72
Frametype:              dcp
Number of packets:      100
Interface:              eth0
Sniffing:               false
Traceback (most recent call last):
  File "Fuzzer.py", line 144, in <module>
    fuzzer(packets, options.interface)
  File "Fuzzer.py", line 74, in fuzzer
    responses.append(srp(packet, timeout=1))
  File "C:\Python27\lib\site-packages\scapy\sendrecv.py", line 357, in srp
    s = conf.L2socket(iface=iface, filter=filter, nofilter=nofilter, type=type)
  File "C:\Python27\lib\site-packages\scapy\arch\pcapdnet.py", line 240, in __in
it__
    self.ins = open_pcap(iface, 1600, 0, 100)
  File "C:\Python27\lib\site-packages\scapy\arch\windows\__init__.py", line 347,
 in <lambda>
    pcapdnet.open_pcap = lambda iface,*args,**kargs: _orig_open_pcap(pcapname(if
ace),*args,**kargs)
  File "C:\Python27\lib\site-packages\scapy\arch\pcapdnet.py", line 171, in <lam
bda>
    open_pcap = lambda *args,**kargs: _PcapWrapper_pypcap(*args,**kargs)
  File "C:\Python27\lib\site-packages\scapy\arch\pcapdnet.py", line 135, in __in
it__
    self.iface = create_string_buffer(device)
  File "C:\Python27\lib\ctypes\__init__.py", line 69, in create_string_buffer
    raise TypeError(init)
TypeError: None
python Fuzzer.py-w false-s 00:1E:37:3A:CC:50-d6c:ae:8b:29:6f:72-tdcp-i eth0-c100 Profinet模糊器。就像 Fuzzer.py-wfalse-s00:19:99:9d:ed:ab-d00:1b:1b:17:ba:8a-tpnio-ieth0-c10 或者尝试Fuzzer.py-h寻求帮助。 需要管理员权限才能发送包! 模糊将从以下参数开始: 资料来源:00:1E:37:3A:CC:50 目的地:6c:ae:8b:29:6f:72 帧类型:dcp 封包数目:100 接口:eth0 嗅探:错 回溯(最近一次呼叫最后一次): 文件“Fuzzer.py”,第144行,在 fuzzer(包、选项、接口) 文件“Fuzzer.py”,第74行,在Fuzzer中 追加(srp(数据包,超时=1)) 文件“C:\Python27\lib\site packages\scapy\sendrecv.py”,第357行,在srp中 s=conf.L2socket(iface=iface,filter=filter,nofilter=nofilter,type=type) 文件“C:\Python27\lib\site packages\scapy\arch\pcapdnet.py”,第240行,在 它__ self.ins=open_pcap(iface,1600,0100) 文件“C:\Python27\lib\site packages\scapy\arch\windows\\uuuu init\uuuu.py”,第347行, 在里面 pcapdnet.open_pcap=lambda iface,*args,**kargs:_orig_open_pcap(pcapname)(如果 ace),*args,**kargs) 文件“C:\Python27\lib\site packages\scapy\arch\pcapdnet.py”,第171行,在 打开\u pcap=lambda*args,**kargs:\u PcapWrapper\u pypcap(*args,**kargs) 文件“C:\Python27\lib\site packages\scapy\arch\pcapdnet.py”,第135行,在 它__ self.iface=创建字符串缓冲区(设备) 文件“C:\Python27\lib\ctypes\\uuuu init\uuuuu.py”,第69行,在创建字符串缓冲区中 raise TypeError(初始化) 类型错误:无 操作系统是Windows7Ultimate,Python版本是2.7.9,gcc编译器是use tdm gcc


为什么我会得到这个,我如何解决这个问题?提前感谢。

上面说
需要管理员权限才能发送软件包在顶部。我猜您需要
以管理员身份运行
从回溯中猜测,它看起来像
pcapname('eth0')
返回
None
。也许您需要以管理员身份运行以获取接口的pcap名称?我已使用管理员权限运行此程序,但它仍然显示此错误。也许在Linux和Windows下用于获取pcapname的函数不一样?
eth0
似乎是unix下的接口名称,而不是Windows。我想windows系统的名称不同吧?