#-*- coding: UTF-8 -*-
import subprocess,sys,threading
reload(sys)
sys.setdefaultencoding('utf-8') def ip2name(mutex,ip,fp,kw):
nbtstatchild = subprocess.Popen(['nbtstat','-A',ip],shell=True,stdout=subprocess.PIPE)
while nbtstatchild.poll() == None:
rsts = nbtstatchild.stdout.readlines()
if len(rsts) <> 0:
for i in rsts:
ii = i.strip().decode('GBK')
if ii.find(kw) <> -1:
if mutex.acquire(1):
with open(fp,'ab') as fw:
fw.write(ip)
for line in rsts:
fw.write(line.strip().decode('GBK'))
mutex.release()
else:
pass if __name__ =='__main__':
lst=[]
bb=range(4,6) #IP第三位
bb.extend([69,71,74]) #IP第三位
dd=range(2,255) #IP第四位
for b in bb:
for d in dd:
ip = '192.168.' + str(b) + '.' + str(d)
lst.append(ip) fp='d:\\ip.txt' #将结果写到该文件中
kw='XS' #要查找的关键字
tnum=30 #线程数量 mutex = threading.Lock()
for i in range(0,len(lst),tnum):
threads=[]
for IP in lst[i:i+tnum]:
print IP
t = threading.Thread(target=ip2name,args=(mutex,IP,fp,kw))
t.setDaemon(True)
t.start()
threads.append(t)
for t in threads:
t.join()

IP解析计算机名称的更多相关文章

  1. c# 遍历局域网计算机(电脑)获取IP和计算机名称

    c#可以遍历局域网计算机,获取全部计算机的名称和IP地址,网上提供了相关的几种方法,并对效率进行了比较,但是没有对各种方法进行比较,以确定可以使用的情况.这篇文章将对这几种方法进行分析,以帮助了解各种 ...

  2. Ubuntu修改计算机名称造成无法解析主机问题解决方法

    在通过修改/etc/hostname文件方法修改计算机名称后导致有时候出现无法解析主机的问题. 解决方法: 找到/etc/hosts文件,打开找到如下一行 127.0.1.1       旧主机名 将 ...

  3. 使用Powershell实现计算机名称及IP地址修改

    我的第一篇博客分享,写这个代码的用途是在公司Ghost完系统之后去修改本地计算机名称及IP 地址,用Powershell实现. 1. 代码第一部分,检查Powershell是否已管理员权限执行,如果不 ...

  4. IP地址、计算机名称、MAC地址如何获取

    以下的操作都在“命令提示窗口”中操作. 已知IP,如何获得计算机名称 方法(1): 使用ping -i ip地址 例如已知地址为192.168.1.168. 那么使用ping -i 192.168.1 ...

  5. IP工具类-自己动手做个ip解析器

    IP工具类-自己动手做个ip解析器 一.资料准备 导入依赖包:

  6. 通过js获取计算机内网ip,计算机名,mac地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  7. 根据IP查找计算机名

    查找10.10.10.X段的计算机名称 $r="10.10.10." $s=1..254 foreach ($a in $s) { $ip = $r + [string]$a $i ...

  8. Linux更改计算机名称

    1.修改:vim /etc/hosts 2.修改:vim /etc/sysconfig/network 3.重启:reboot 如不重启可以输入:hostname  新改的计算机名称,然后su

  9. 重命名计算机名称导致TFS版本管理下的工作区问题的修复

    1.问题 若在本地已有工作区之后,此时修改计算机名称重启生效后,打开本地的项目解决方案,输出窗口会提示如下图: 2.解决 输入命令:tf workspaces /collection:http://1 ...

随机推荐

  1. 用鼠标键盘来控制你的Android手机——同屏显示简单教程

    今天在微博上看到有人用电脑鼠标操作iPhone手机玩打飞机游戏,非常炫,虽然自己用的不是iPhone,但相信Android手机肯定也能实现这样的功能,于是网上各种搜索方法,终于看到了一篇试用成功的帖子 ...

  2. JavaScript 视频教程 收藏

    001 JavaScript第1章 JavaScript概述 https://www.365yg.com/group/6410923214495940866/ 001 JavaScript第1章 Ja ...

  3. 软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征

    1.基于web开发中最原始的jsp+Servlet   图形化理解jsp+servlet结构: 1.从结构上分析jsp+servlet图解原理: 在基于mvc设计模式下的最原始的jsp+Servlet ...

  4. 【IT笔试面试题整理】位操作

    如何准备: Bit manipulation can be a scary thing to many candidates, but it doesn't need to be! If you're ...

  5. Spring IOC 源码之ResourceLoader

    转载自http://www.blogjava.net/DLevin/archive/2012/12/01/392337.html 在<深入Spring IOC源码之Resource>中已经 ...

  6. maven3.6.1-02初体验及jar包上传

    安装当前最新版本的nexus,安装教程网上搜,不多说了. 因为nexus3x版本没有2x版本中内置的3rd_part,所以不能在界面中上传jar包,必须使用maven的命令行.  添加第三方仓库,名字 ...

  7. 基于多层感知机的手写数字识别(Tensorflow实现)

    import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_dat ...

  8. Thinkphp 图片上传

    案例:广告的增删改查 步骤: 1引用 js 2 填写 input type=" file" 的id 3 填写 url 4后台保存地址 5前台成功后的处理 广告添加页 <div ...

  9. [日常] Go语言圣经-错误,函数值习题

    Go语言圣经-错误 1.panic异常.panic是来自被调函数的信号,表示发生了某个已知的bug 2.任何进行I/O操作的函数都会面临出现错误的可能 3.错误是软件包API和应用程序用户界面的一个重 ...

  10. angularjs 2.0 简单入门1

    一:首先要写json文件,并下载所有的包 1,在任意目录下新建文件夹 命名为angular2Dome,也可以使用命令  mkdir angular2Dome 回车. 2,在angular2Dome文件 ...