首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python的网络扫描器

使用Python的网络扫描器
EN

Stack Overflow用户
提问于 2021-09-24 21:39:56
回答 1查看 54关注 0票数 0

我正在尝试用python for linux做一个网络扫描器,但是我遇到了一些问题。

以下是代码

代码语言:javascript
运行
复制
 import scapy.all as scapy
 import optparse

 def get_user_input():
    my_object = optparse.OptionParser
    my_object.add_option("-i","-ip", dest="ip_address",help="please type ip address")
 (user_inputs,arguments)=my_object.parse_args()
 return user_inputs

 def scan(ip):
    arp_packet = scapy.ARP(pdst=ip)
    broadcast_packet = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
     arp_and_broadcast_packet = broadcast_packet/arp_packet
     answered_list = scapy.srp(arp_and_broadcast_packet,timeout=1)
     answered_list.summary()

def result_scan(scan_list):
print("IP\t\t\tMAC\n-----------------------------------------------------")
for client in scan_list:
    print(client["ip"]+ "\t\t" + client["mac"])

 user_ip_address = get_user_input()
 scan_network = user_ip_address.ipaddress

下面是我遇到的问题:

代码语言:javascript
运行
复制
  Traceback (most recent call last):
  File "Netscanner.py", line 23, in <module>
  user_ip_address = get_user_input()
  File "Netscanner.py", line 7, in get_user_input
  my_object.add_option("-i","-ip", dest="ip_address",help="please type ip address")
  TypeError: unbound method add_option() must be called with OptionParser instance as first 
  argument (got str instance instead)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-24 21:53:49

您应该实例化OptionParser对象(忘记添加括号):

代码语言:javascript
运行
复制
def get_user_input():
    my_object = optparse.OptionParser()
    my_object.add_option("-i", "--ip", dest="ip_address",help="please type ip address")

    ...

另外,您应该将第二个参数作为--ip传递。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69321338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档