python模拟icmp包,python模拟发送udp包

本文目录一览:

我想用python脚本telnet电脑Ensp里的交换机,但是没效果,也没报错,是有什么问题吗?求解答

 1、在备份配置之前进行ping操作,所有IP地址放在HW_IP_List.txt中,ping通的地址放到HW_IP_True.txt中,ping不通的地址放到HW_IP_False.txt中。

脚本文件icmp_reply.py

#!/usr/bin/python

# -*- coding:gb2312 -*-

#import tab

import time,os

start_time = int (time.time())

def hw_ping_test():

ips = open(‘HW_IP_List.txt’,’r’)

ip_True = open(‘HW_IP_True.txt’,’w’)

ip_False = open(‘HW_IP_False.txt’,’w’)

count_True,count_False=0,0

for ip in ips.readlines():

ip = ip.replace(‘\n’,”)

return1= os.system(‘ping -n 1 -w 1 %s’%ip)

if return1 :

print ‘ping %s is fail’%ip

ip_False.write(ip+’\n’)

count_False += 1

else:

print ‘ping %s is ok’%ip

ip_True.write(ip+’\n’)

count_True += 1

ip_True.close()

ip_False.close()

ips.close()

end_Time = int(time.time())

print “time(sencond):”,end_Time – start_time,”s”

print “ping OK IP:”,count_True,” ping False IP:”,count_False

hw_ping_test()

2、编辑核心脚本,调用icmp_reply.py,程序执行时会先自动运行icmp_reply.py,调用生成的HW_IP_True.txt文件,先要选择设备类型,然后选择执行的动作,输入TFTP服务器地址,程序就开始执行选择的相应的动作。

接收icmp数据包

1.你把防火墙设置成中级看看还有没有骚扰。

如果没有骚扰,那就OK了。

如果有骚扰进入下一步

2。ICMP包是个ping 包,你会就收ICMP数据包 有两种可能,别人ping你,要求你回答,或者你ping别人,别人回答你。

由于你是用的路由器,这么多不同的人ping你,最大的可能是你ping了他们所有的人,然后他们回答你。ICMP应该是不能IP欺骗的。

有两种办法可以判断是不是你电脑中毒了,第一 更换你的IP地址 ,将最后的101改为102,如果还有这个情况基本上就是你中毒了

第二,下载个Wireshark软件 抓取数据包,点击capture—option-start

在filter中输入 ICMP ,然后你就可以看到ICMP包的情况了,如果

目标地址是192.168.1.101 ,例如下面

sourc是119.116.182.167 (等等), destination是192.168.1.101

info是Echo (ping) reply

则很显然是你的机器有木马 乱往外面发ICMP数据请求包(换句话说是乱ping外网阻塞自己网络)。

如果确认了这些,就可以试一下ping病毒 或ping木马的专杀工具,

或者重新装下网卡。。。也许可以解决。(知道原理,害过人,可惜没有自己中过这种病毒。按常理来说如果是病毒,应该可以少毒少出来的吧,所以提供方法供你查找原因,如果不知道如何用Wireshark.

请大牛指教python问题。通过pip方式下载了个ping.py(改名为:ping_pip.py)代码,测试的时候遇到问题。

别快速的ping很多的地址。 有可能防火墙会拦截, 也有可能是文件句柄数超过了操作系统的限制。

如果出错了。你忽略它,然后重试一次。应该可以解决这个问题。

如何使用发包工具构造icmp报文

如何使用发包工具构造icmp报文

使用的是类型8和0,其过程如下:

ICMP ECHO(Type 8) 和ECHO Reply (Type 0)

我们使用一个ICMP ECHO数据包来探测主机地址是否存活(当然在主机没

有被配置为过滤ICMP形式),通过简单的发送一个ICMP ECHO(Type 8)数据包到目标

主机,如果ICMP ECHO Reply(ICMP type 0)数据包接受到,说明主机是存活状态。

如果没有就可以初步判断主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。

|————————————————————-

| |

| —— ICMP ECHO request —— |

| |HOST| ——————————— |HOST| |

| | A | ———————– | B | |

| | | 如果存活或者没有过滤 | | |

| —— 将返回ICMP RCHO REPLY —— |

| |

————————————————————–

这种机制就是我们通常所用的ping命令来检测目标主机是否可以ping到。

用python篡改icmp报文再发送给接收方

程序处理上有些问题,建议深入研究一下ICMP协议。下面是Python 3的一个ICMP的简单实现,可以参考一下。

import socket

import struct

def checksum(source_string):

    sum = 0

    countTo = (len(source_string)/2)*2

    count = 0

    while countcountTo:

        thisVal = ord(source_string[count + 1:count + 2])*256 + ord(source_string[count:count + 1])

        sum = sum + thisVal

        sum = sum  0xffffffff 

        count = count + 2

    if countTolen(source_string):

        sum = sum + ord(source_string[len(source_string) – 1])

        sum = sum  0xffffffff 

    sum = (sum  16)  +  (sum  0xffff)

    sum = sum + (sum  16)

    answer = ~sum

    answer = answer  0xffff

    answer = answer  8 | (answer  8  0xff00)

    return answer

def ping(ip):

    rawsocket1=socket.socket(socket.AF_INET,socket.SOCK_RAW, socket.getprotobyname(‘icmp’))

    packet = struct.pack(‘!BBHHH8s’, 8, 0, 0, 0, 0, b’abcdefgh’)

    chksum=checksum(packet)

    packet = struct.pack(‘!BBHHH8s’, 8, 0, chksum, 0, 0, b’abcdefgh’)

    rawsocket1.sendto(packet, (ip, 1))

ping(‘10.172.23.254’)

python编写ping程序出现socket.error: [Errno 10013] 错误

错误号的解释

以一种访问权限不允许的方式做了一个访问套接字的尝试。

试试管理员权限,不行换到xp上试试。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/189157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-29 08:01
下一篇 2024-11-29 08:01

相关推荐

  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29

发表回复

登录后才能评论