【问题标题】:从其他函数调用变量 - 套接字
【发布时间】:2022-01-23 16:14:57
【问题描述】:

我是 Python 新手,在从一个函数调用变量以在另一个函数中使用时遇到问题。

第一个函数获取 localhost IP,第二个函数我想获取该 IP 并使用它来进行端口扫描。

我的开放端口函数出现错误 'AttributeError: 'function' object has no attribute 'ipv4''

非常感谢任何帮助。

def get_IP():
ip = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
ip.connect(("8.8.8.8", 80))
print(ip.getsockname()[0])
ipv4 = ip.getsockname()[0]
ip.close()
return ipv4

def get_open_ports():
for port in range(1,65535):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    socket.setdefaulttimeout(1)
    result = s.connect_ex((get_IP.ipv4, port))
    if result ==0:
        print(f"Port {port} is open")
    s.close()

【问题讨论】:

标签: python


【解决方案1】:

您可以使用以下语法将其作为参数传递给第二个函数:

def get_open_ports(my_ip):

但是你需要调用函数:

ip = get_IP()
open_ports = get_open_ports(ip)

甚至

open_ports = get_open_ports(get_IP())

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 2018-03-07
    • 2017-10-15
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多