gpt4 book ai didi

python检测远程udp端口是否打开的方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 37 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python检测远程udp端口是否打开的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了python检测远程udp端口是否打开的方法。分享给大家供大家参考。具体实现方法如下:

  。

复制代码代码如下:

import socket import threading import time import struct import Queue queue = Queue.Queue() def udp_sender(ip,port):     try:         ADDR = (ip,port)         sock_udp = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)         sock_udp.sendto("abcd...",ADDR)         sock_udp.close()     except:         pass def icmp_receiver(ip,port):     icmp = socket.getprotobyname("icmp")     try:         sock_icmp = socket.socket(socket.AF_INET, socket.SOCK_RAW, icmp)     except socket.error, (errno, msg):         if errno == 1:             # Operation not permitted             msg = msg + (                 " - Note that ICMP messages can only be sent from processes"                 " running as root."             )             raise socket.error(msg)         raise # raise the original error     sock_icmp.settimeout(3)     try:         recPacket,addr = sock_icmp.recvfrom(64)     except:         queue.put(True)         return     icmpHeader = recPacket[20:28]     icmpPort = int(recPacket.encode('hex')[100:104],16)     head_type, code, checksum, packetID, sequence = struct.unpack(             "bbHHh", icmpHeader     )     sock_icmp.close()     if code == 3 and icmpPort == port and addr[0] == ip:         queue.put(False)     return def checker_udp(ip,port):     thread_udp = threading.Thread(target=udp_sender,args=(ip,port))     thread_icmp = threading.Thread(target=icmp_receiver,args=(ip,port))     thread_udp.daemon= True     thread_icmp.daemon = True     thread_icmp.start()     time.sleep(0.1)     thread_udp.start() 。

  。

    thread_icmp.join()     thread_udp.join()     return queue.get(False) if __name__ == '__main__':     import sys     print checker_udp(sys.argv[1],int(sys.argv[2])) 。

  。

希望本文所述对大家的Python程序设计有所帮助.

最后此篇关于python检测远程udp端口是否打开的方法的文章就讲到这里了,如果你想了解更多关于python检测远程udp端口是否打开的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com