Python實現掃描區域網路活動ip

來源:互聯網
上載者:User

Python實現掃描區域網路活動ip

  這篇文章主要介紹了Python實現掃描區域網路活動ip(掃描線上電腦),本文直接給出實現代碼,需要的朋友可以參考下

  內網的主機都是自動分配ip地址,有時候需要查看下有那些ip在使用,就寫了個簡單的指令碼。

  linux和windows下都可以用,用多線程來ping1-255所有的地址,效率不高,2分鐘左右。 先湊合和用吧。

  ?

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

#-*- coding: utf-8 -*-

#author: orangleliu date: 2014-11-12

#python2.7.x ip_scaner.py

 

'''''

不同平台,實現對所在內網端的ip掃描

 

有時候需要知道所在區域網路的有效ip,但是又不想找特定的工具來掃描。

使用方法 python ip_scaner.py 192.168.1.1

(會掃描192.168.1.1-255的ip)

'''

 

import platform

import sys

import os

import time

import thread

 

def get_os():

'''''

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()

 

flag = False

for line in list(output):

if not line:

continue

if str(line).upper().find("TTL") >=0:

flag = True

break

if flag:

print "ip: %s is ok ***"%ip_str

 

def find_ip(ip_prefix):

'''''

給出當前的127.0.0 ,然後掃描整個段所有地址

'''

for i in range(1,256):

ip = '%s.%s'%(ip_prefix,i)

thread.start_new_thread(ping_ip, (ip,))

time.sleep(0.3)

 

if __name__ == "__main__":

print "start time %s"%time.ctime()

commandargs = sys.argv[1:]

args = "".join(commandargs)

 

ip_prefix = '.'.join(args.split('.')[:-1])

find_ip(ip_prefix)

print "end time %s"%time.ctime()

  是應用的時候: python ip_scaner.py 192.168.31.1 就會掃描 1-255所有的ip地址了。

  ?

1

2

3

4

5

6

7

8

D:\CodeHouse\python\tools>python ip_scaner.py 10.0.1.38

start time Wed Nov 12 18:50:58 2014

ip: 10.0.1.1 is ok ***

ip: 10.0.1.2 is ok ***

ip: 10.0.1.24 is ok ***

ip: 10.0.1.38 is ok ***

ip: 10.0.1.39 is ok ***

end time Wed Nov 12 18:52:16 2014

  就這樣。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.