udp端口检测(linux检测udp端口是否打开)

      最后更新:2022-11-25 15:57:05 手机定位技术交流文章

      如何用python方法检测UDP端口

      本文实例讲述了python检测远程udp端口是否打开的方法。分享给大家供大家参考。具体实现方法如下: 复制代码代码如下:import socketimport threadingimport timeimport structimport Queuequeue = 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:passdef 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 permittedmsg = msg + (" - Note that ICMP messages can only be sent from processes"" running as root.")raise socket.error(msg)raise # raise the original errorsock_icmp.settimeout(3)try:recPacket,addr = sock_icmp.recvfrom(64)except:queue.put(True)returnicmpHeader = 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)returndef 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= Truethread_icmp.daemon = Truethread_icmp.start()time.sleep(0.1)thread_udp.start()thread_icmp.join()thread_udp.join()return queue.get(False)if __name__ == '__main__':import sysprint checker_udp(sys.argv[1],int(sys.argv[2])) 希望本文所述对大家的Python程序设计有所帮助。
      如何用python方法检测UDP端口

      怎样测试UDP端口

      怎样测试远程UDP端口,我们一般情况下,应用服务都使用的TCP端口,但是某些情况下,我们也需要开启UDP端口。本文简要描述怎样测试UDP端口是否正常? TCP端口大家都知道,比如80端口,可以使用 telnet ip 80,来验证端口是否正常监听,那UDP端口是否可以同样测试呢?详细如下:下面我们来进行测试,123端口是服务器42.11.12.13打开的UDP端口,udp 0 0 42.11.12.13:123 0.0.0.0:* 1472/ntpd1.我们首先使用telnet连接,如下[root@kr-sg-test ~]# telnet 42.11.12.13 123Trying 42.11.12.13…telnet: connect to address 42.11.12.13: Connection refusedtelnet: Unable to connect to remote host: Connection refused很明显,telnet连接被拒绝,无法测试成功。2.我们使用nc来进行测试,如下[root@kr-sg-test ~]# nc -vuz 42.11.12.13 123Connection to 42.11.12.13 123 port [udp/ntp] succeeded!结果证明UDP 123端口正常监听。nc命令用法:usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port][-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version] [-x proxy_address[:port]] [hostname] [port[s]]
      怎样测试UDP端口

      如何查看UDP端口是否被占用

      关于如何查看端口是否被占用,可以根据以下步骤来操作: 1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是49157,首先找到它。3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:6、则点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。7、这样就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。 8、结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。
      关于如何查看端口是否被占用,可以根据以下步骤来操作: 1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口;2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是49157,首先找到它。3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:6、则点击查看--->选择列,将PID(进程标示符)前面的勾打上,点击确定。7、这样就看到了PID这一列标识,看一下2720对应的进程是谁,如果没有,把下面的显示所有用户的进程前面的勾打上,就可以看到了,映像名称是svchost.exe,描述是,Windows的主进程,与上面命令查看的完全一致。 8、结束该进程:在任务管理器中选中该进程点击”结束进程“按钮,或者是在cmd的命令窗口中输入:taskkill /f /t /im Tencentdl.exe。
      1、开始---->运行---->cmd,或者是window+R组合键,调出命令窗口; 2、输入命令:netstat -ano,列出所有端口的情况。在列表中观察被占用的端口,比如是49157,首先找到它。3、查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720。4、继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了2720端口,结果是:svchost.exe 5、或者是打开任务管理器,切换到进程选项卡,在PID一列查看2720对应的进程是谁,如果看不到PID这一列,如下图:
      如何查看UDP端口是否被占用

      udp协议未对发送的数据做任何校验和检测

      C和D,UDP协议和TCP协议的共同之处有校验和和提供目的、源端口号。UDP报头由4个域组成。 每个字段占用2个字节,包括源端口号、目标端口号、数据报长度和检查值。TCP报头格式:源端口为源端口,16位;目的端口是目的端口,16位校验和是一个16位校验和。TCP是Internet中的传输层协议,它使用三重握手协议建立连接。在发起者发出SYN连接请求后,等待另一方应答SYN+ACK,最后在另一方的SYN上执行ACK确认。当它想发送数据时,它只需从应用程序中获取数据,并以尽可能快的速度通过网络将其传递出去。
      udp协议未对发送的数据做任何校验和检测

      如何测试udp端口是否正常?

      测试udp 服务的端口是否可用 d 服务上,就会报错, 因为telnet 走的是tcp 协议, 比如说192.168.80.131 在8888 端口上上启了个udp 的服务,这是使用telnet 192.168.80.131 8888,就会报如下错误:Trying 192.168.80.131... telnet: connect to address 192 .168.80.131: Connection refused 此时, 可以使用nc 这个工具, 大多数的发行版都自带这个工具, fedora 9 的/usr/bin/nc 所属的安装包是 nc-1.84-16.fc9.i386nc -l -u 192.168.80.129 8001 使用命令nc -u 192.168.80.129 8001, 在这里输入字符串, 服务端就会回显相同的字符串,表示8001 端口上的udp 服务是否启用.suse 上的是用netcat, 方法基本上差不多:netcat -l -u -p 8001 这样就可以在0.0.0.0 上侦听udp 的8001 端口从另外一台机器,或者打开本机的另外一个虚拟终端, 输入:netcat -u 192.168.1.123 8001 在这里输入字符串, 就会回显一个相同的字符串,表示链接是OK 的
      TCP端口大家都知道,比如80端口,可以使用 telnet ip 80,来验证端口是否正常监听,那UDP端口是否可以同样测试呢?详细如下: 下面我们来进行测试,123端口是服务器42.11.12.13打开的UDP端口,udp 0 0 42.11.12.13:123 0.0.0.0:* 1472/ntpd1.我们首先使用telnet连接,如下[root@kr-sg-test ~]# telnet 42.11.12.13 123Trying 42.11.12.13…telnet: connect to address 42.11.12.13: Connection refusedtelnet: Unable to connect to remote host: Connection refused很明显,telnet连接被拒绝,无法测试成功。2.我们使用nc来进行测试,如下[root@kr-sg-test ~]# nc -vuz 42.11.12.13 123Connection to 42.11.12.13 123 port [udp/ntp] succeeded!结果证明UDP 123端口正常监听。nc命令用法:usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port][-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version] [-x proxy_address[:port]] [hostname] [port[s]]
      如何测试udp端口是否正常?

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/46323.html

          热门文章

          文章分类