1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/usr/bin/env python # -*- coding: utf-8 -*- ''''' 使用方法样例 python test20.py 192.168.1.1 (会扫描192.168.1.1-255的ip) 多线程加速后大概十几秒 ''' import platform import sys import os import time import threading live_ip = 0 def get_os(): os = platform.system() if os = = "Windows" : return "n" else : return "c" def ping_ip(ip_str): cmd = [ "ping" , "-{op}" . format (op = get_os()), "1" , ip_str] output = os.popen( " " .join(cmd)).readlines() for line in output: if str (line).upper().find( "TTL" ) > = 0 : print ( "ip: %s is ok ***" % ip_str) global live_ip live_ip + = 1 break def find_ip(ip_prefix): ''''' 给出当前的127.0.0 ,然后扫描整个段所有地址 ''' threads = [] for i in range ( 1 , 256 ): ip = '%s.%s' % (ip_prefix, i) threads.append(threading.Thread(target = ping_ip, args = {ip, })) for i in threads: i.start() for i in threads: i.join() if __name__ = = "__main__" : print ( "start time %s" % time.ctime()) cmd_args = sys.argv[ 1 :] args = "".join(cmd_args) ip_pre = '.' .join(args.split( '.' )[: - 1 ]) find_ip(ip_pre) print ( "end time %s" % time.ctime()) print ( '本次扫描共检测到本网络存在%s台设备' % live_ip) |
以上就是Python获取指定网段正在使用的IP的详细内容,更多关于python 获取网段ip的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/111testing/p/14113297.html