记录在B站学习的知识
利用ping原理,通过编写python脚本,来检测局域网内某个主机是否在线或检测局域网网段内在线的主机
实验环境
- ubuntu虚拟机
- pycharm
准备工作
- 了解ping原理
PING(Packet Internet Groper),因特网包搜索器,用于测试网络连接量的程序。Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP(Iternet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。(百度百科) - 安装 ipaddress 模块
ipaddress 是一个用于检查和操作IP地址的模块,在这个脚本中只是用于迭代生成局域网内的的IP地址,可以用上篇 【python脚本——主机发现】 介绍ARP的那种方法来生成(比较麻烦)。
在终端用 pip install ipaddress 进行安装
代码展示
from __future__ import unicode_literals
import ipaddress
import multiprocessing
from scapy.layers.inet import IP,ICMP
from scapy.sendrecv import sr1
SUCCESS=100001
FAILURE=100002
def ping(target_ip):
package=IP(dst=target_ip)/ICMP()/b'hello'