【发布时间】:2014-03-21 10:25:23
【问题描述】:
使用python和bash,我想完成两件事:
需要将 [fec2::10]:80 格式的 ipv6 地址和端口组合拆分为 fec2::10 和 80。
给定 IP 地址和端口组合,我需要确定 IP 是 v4 还是 v6 地址。例如:1.2.3.4:80 和 [fec2::10]:80
请提出一种方法。
谢谢!
示例代码:
#!/usr/bin/env python
import optparse
def main():
server = "[fec1::1]:80"
if server.find("[", 0, 2) == -1:
print "IPv4"
ip, port = server.split(':')
else:
print "IPv6"
new_ip, port = server.rsplit(':', 1)
print new_ip
ip = new_ip.strip('[]')
print ip
print port
if __name__ == '__main__':
main()
这适用于所有情况,除非指定输入时没有端口。例如:10.78.49.50 和 [fec2::10]
有解决这个问题的建议吗?
【问题讨论】:
-
那么问题出在哪里?
-
我的 bash 和 python 脚本将接收 IP:port 组合作为输入,脚本需要确定 IP 的地址族,然后拆分 IP 和端口。
标签: python bash ip-address