On Sun, Nov 5, 2017 at 2:31 AM, brandon wallace <nodn...@gmx.us> wrote:
>
> I have this code that tests a server to see if it is listening on port 123 
> runs and evaluates to True every time. Even if the server does not exist but 
> it is not supposed to do that. I am getting no error message at all. What is 
> going on with this code?
>
>
>
> #!/usr/bin/env python
>
> import socket
>
> hostname = ["192.168.1.22", "192.168.1.23", "200.168.1.24", "19.0.0.0"]
> port = 123
>
> def check_udp(hosts, port_num):
>     '''Test the UDP port on a remove server.'''
>     s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>     for host in hosts:
>         try:
>             s.connect((host, port_num))
>             return "Port 53 is reachable on: %s" % host
>         except socket.error as e:
>             return "Error on connect: %s" % e
>
> check_udp(hostname, port)

Do you understand what it actually means to connect a UDP socket? If
not, I suggest reading up on the nature of UDP. You can't probe a
remote server this way; it simply doesn't work like that.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to