一、问题由来

工作的局域网中,会接入很多设备,机器人上的网络设备就2个了,一个巨哥红外,一个海康可见光。机器人还有自身的ip。

有时候机器人挂的多了,设备维修更换中,搞来搞去就不记得ip是什么,用自带的软件的确能扫出来,但是这就要开两个windows环境下的软件,耗时耗力,折腾。正好在linux,那简单,敲命令。

nmap -P 192.168.1.0/24

可以扫描出 192.168.1.0~192.168.1.255的全部ip

但是前提是要装过nmap

apt-get install nmap

可总感觉在用高射炮打蚊子——大材小用

那就自己折腾折腾python吧,于是就在网上抄抄改改。

二、python扫描指定网段ip

1、demo

pingS.py

import sys

import os

import time

import _thread

import datetime

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

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

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__":

startTime = datetime.datetime.now()

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

net=sys.argv[1]

args = "".join(("192.168."+net+".1"))

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

find_ip(ip_prefix)

endTime = datetime.datetime.now()

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

print("total takes :",(endTime - startTime).seconds)

python3除移thread模块,为了兼容性使用_thread代替,最安全用法是使用threading模块

datetime.datetime.now()获取当前时间

os = platform.system()判断当前系统类型

output = os.popen()调用终端,返回值会保存在output中

每次扫描的时长大约是 76 s。

2、运行

python3 pingS.py 1

参数1是指定网段,如果想扫描192.168.5.0~192.168.5.255

则输入:

python3 pingS.py 5

3、打包

pyinstaller -F pingS.py打包成单一可执行文件

用上面的命令前提是已安装pyinstaller——-(pip intsall pyinstaller)

运行完会生成一个pingS的可执行文件

cp pingS /bin

好了,到这一步,任意地方打开终端输入:

pingS 1

都可以完成 192.168.1.0~192.168.1.255的扫描

总结

以上所述是小编给大家介绍的python实现扫描局域网指定网段ip的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

php如何扫描局域网ip,python实现扫描局域网指定网段ip的方法相关推荐

  1. python扫描局域网端口和ip_python实现扫描局域网指定网段ip的方法

    一.问题由来 工作的局域网中,会接入很多设备,机器人上的网络设备就2个了,一个巨哥红外,一个海康可见光.机器人还有自身的ip. 有时候机器人挂的多了,设备维修更换中,搞来搞去就不记得ip是什么,用自带 ...

  2. 一种获取公网ip地址并发送邮件至指定邮箱的实现方法

    背景   在之前一篇文章中介绍了利用路由器的端口映射功能实现内网穿透的方法.   ubuntu SSH内网穿透 + Vscode远程访问   在实际的使用过程中,发现这一实现途径存在一些不足之处,即当 ...

  3. linux服务器IP伪造,Linux服务器间同网段IP伪装端口映射

    Linux服务器间同网段IP传伪装端口映射 主机(网关)ip:192.168.4.18 目标主机 ip :192.168.4.25 映射端口: 21 echo "1" > / ...

  4. linux命令如果带源ip去平台,Linux下指定源ip进行ping操作

    [序言] 目前在做一台电脑上两个虚拟机之间的通信. 对于每个虚拟机都有两个网卡,一个桥接模式和一个NAT模式. 那么问题来了.... 如果使用简单的ping ip形式的命令得到ping通的结果,只能证 ...

  5. linux下指定某个ip去ping,Linux下指定源ip进行ping操作的方法

    [序言] 目前在做一台电脑上两个虚拟机之间的通信. 对于每个虚拟机都有两个网卡,一个桥接模式和一个NAT模式. 那么问题来了.... 如果使用简单的ping ip形式的命令得到ping通的结果,只能证 ...

  6. mysql python连接时、指定的ip地址被转接了_pythonmysql.connector模块使用了错误的IP地址...

    我在使用python时遇到了一个问题mysql.connector脚本中的模块.当我从脚本运行连接到运行mysql v8的docker容器时,它试图连接到错误的IP地址.下面是示例函数:import ...

  7. python修改服务器ip,[python+Bat]读表修改机房IP

    [Shell] 纯文本查看 复制代码拷贝一下脚本到.bat文件,双击运行即可,有交互式提示输入新的计算机名 @ ECHO OFF color 0A ECHO --------------------- ...

  8. Shell多进程ping检测指定网段ip是否在线

    要实现Ping一个网段的所有IP,并检测网络连接状态是否正常,很多方法都可以实现,下面简单介绍两种,一种为单进程,一种为多进程. ping单进程检测(挨个处理) #!/bin/bash read -p ...

  9. 扫描---实验一:端口扫描(X-scan)

    一.实验目的及要求 掌握使用X-scan对目标主机进行综合检测,查看相关漏洞信息. 二.实验原理 计算机通过各个端口与其他设备交换信息,每一个打开的端口都是一个潜在的通信通道,同时也意味着是一个可入侵 ...

最新文章

  1. 2019年这50个Kafka面试题,你知道答案么?
  2. linux go redis,使用go来操作redis的方法示例
  3. HTML标签和CSS个人总结
  4. boost::mpl模块实现set_c相关的测试程序
  5. 【PAT甲级 - 1028】List Sorting (25分)(模拟,排序)
  6. Linux学习之基础命令
  7. Java帧率,android应用性能优化之帧率 - hellominefriend的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  8. android 任意剪切view,Android 任意View切圆角
  9. 使用IntelliJ IDEA配置Tomcat(入门)
  10. Chivas 芝华士12年-广告歌Sarah Khider《Mermaid Song》
  11. [ECCV2020]Beyond 3DMM Space: Towards Fine-grained 3D Face Reconstruction
  12. 数学和编程-王垠博客
  13. 《新说文解字》太极初成:道生一,一生二,二生三,三生万物
  14. 5 款开源的 Linux 策略模拟游戏 | Linux 中国
  15. 5GCPE如何支持4G物联网卡(修改IMEI)
  16. Netty学习开发之路
  17. yep chain千亿级航母起航——与同济大学达成战略合作
  18. GNU Linux shell中如何进行各进制编码间(二进制、8进制、16进制、base64)的转换
  19. php 类似于趣步,完整数据全开源早起打卡项目趣步模式源码
  20. Linux系统引导和服务

热门文章

  1. 第七节_我的日记本开发手记(7)——Javascript与c#交互
  2. 认真的雪歌词的c语言编码,薛之谦认真的雪歌词
  3. 密码忘了?不要紧,Python轻松给你找回来
  4. RA4M2开发(4)----读取ISL29035数据,并在OLED上显示,串口打印
  5. org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /nb-conf
  6. 菜鸟站长之家给大家讲讲WordPress百度云cdn加速教程方法,并且免费版支持 HTTPS了
  7. Linux下 ls 命令的高级用法8例
  8. 公众号 接收规则 消息_微信公众号开发之模板消息
  9. C++知识总结——this指针
  10. 极客专属浪漫!用涂鸦智能压力传感器DIY一款智能杯垫!