Ping简介
PING (Packet Internet Groper),网络包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。
Python实现简易Ping程序
#!/usr/bin/env python3
# -*- encoding = utf-8 -*-
# 该代码由本人学习时编写,仅供自娱自乐!
# 本人QQ:1945962391
# 欢迎留言讨论,共同学习进步!
from scapy.layers.inet import IP, ICMP
from scapy.packet import Raw
from scapy.sendrecv import sr1
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR) # 清除报错信息
def ping_one(dst): # 构建函数
ping_pkt = IP(dst=dst)/ICMP() / b'welcome!' # 构建数据包,目的地址为dst,数据部分为字节字符串welcome!
ping_result = sr1(ping_pkt, timeout=2, verbose=False) # 发送数据包并将返回结构赋值到ping_result中
try:
if p