K8Cscan for Python 1.0
功能:
1.默认扫描当前C段存活主机
2.调用K8Cscan插件扫描(限Windows)
PS: 有兴趣可自行修改完善其功能
Cscan所有插件功能请参考: https://www.cnblogs.com/k8gege/p/10519321.html
源码:
#Author: K8gege
#Date: 20190512
#.net framework >= 4.0
import platform
import socket
import os
import threading
import time
import sys
import clr
def netscan(ip):
clr.FindAssembly(‘netscan.dll’)
clr.AddReference(‘netscan’)
from CscanDLL import scan
print(scan.run(ip))
def Cscan(ip):
ipc = (ip.split(’.’)[:-1])
for i in range(1,256):
add = (’.’.join(ipc)+’.’+str(i))
threading._start_new_thread(netscan,(add,))
time.sleep(0.1)
def getos():
return platform.system()
def getip():
return socket.gethostbyname(socket.gethostname())
def pingIP(ip):
output = os.popen(‘ping -%s 1 %s’%(ptype,ip)).readlines()
for w in output:
if str(w).upper().find(‘TTL’)>=0:
print(ip)
def Cping(ip):
ipc = (ip.split(’.’)[:-1])
for i in range(1,256):
add = (’.’.join(ipc)+’.’+str(i))
threading._start_new_thread(pingIP,(add,))
time.sleep(0.1)
if name == ‘main’:
print(‘K8Cscan for python 1.0’)
if getos() == ‘Windows’:
ptype = ‘n’
elif getos() == ‘Linux’:
ptype = ‘c’
else:
print(‘The system is not supported.’)
sys.exit()
if(os.path.exists(‘netscan.dll’)):
print(‘load netscan.dll’)
Cscan(getip())
else:
print(‘not found netscan.dll’)
print(‘Default scan ip/24 online PC’)
Cping(getip())
下载:
源码: https://github.com/k8gege/K8CScan/blob/master/K8Cscan.py
DLL: https://github.com/k8gege/K8CScan/blob/master/Example/DLL/c%23/netscan.dll