【问题标题】:Which IP alias is currently active [closed]哪个IP别名当前处于活动状态[关闭]
【发布时间】:2015-02-25 14:50:57
【问题描述】:

我使用 ip 别名技术在单个 nic 上分配多个 ip。我在 python 脚本中使用这些 ips 来生成流量。我这样做是为了我的大学项目。谁能告诉我,我怎么会知道当前在我的脚本中哪个 IP 用于生成流量?我正在使用 centos 6.5

【问题讨论】:

    标签: python centos


    【解决方案1】:

    您可以通过这样做来获取用于套接字的本地IP和端口

    >>> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    >>> sock.connect(('8.8.8.8', 53))
    >>> sock.getsockname()
    ('192.168.1.67', 36498)
    

    【讨论】:

    • 对不起,我之前忘了提这个,但实际上我的客户端没有连接到互联网。相反,它连接到一个仅由我的客户端和服务器组成的内部网络。所以 sock.connect 不适合我。有没有其他方法可以解决这个问题?
    • 这里尝试连接到我自己的服务器然后执行 sock.getsockname,每次只返回 eth0 的 ip。虽然当我签入 pcap 文件时,所有别名 ip 都已生成流量,即来自 eth0:1、eth0:2、eth0:3 等。有没有其他方法可以识别当前处于活动状态的 ip 别名?
    • 不知道为什么这个问题被关闭了??????找到答案:使用 multiprocesssing.Process 而不是 threading.Thread 然后使用 len(psutil.pids()) 找出活动客户端的数量,因为在我的情况下活动客户端数量=进程数
    猜你喜欢
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多