Пример #1
0
class MyListener(object):
    def __init__(self):
        self.r = Zeroconf('')
        pass

    def removeService(self, zeroconf, type_, name):
        print "Service", name, "removed"

    def addService(self, zeroconf, type_, name):
        print "Service", name, "added"
        print "Type is", type_
        info = None
        retries = 0
        while not info and retries < 10:
            info = self.r.getServiceInfo(type_, name)
            if not info:
                print "  (timeout)"
            retries += 1
        print "Address is", str(socket.inet_ntoa(info.getAddress()))
        print "Port is", info.getPort()
        print "Weight is", info.getWeight()
        print "Priority is", info.getPriority()
        print "Server is", info.getServer()
        print "Text is", repr(info.getText())
        print "Properties are", info.getProperties()
Пример #2
0
class MyListener(object):
    def __init__(self):
        self.r = Zeroconf('')
        pass

    def removeService(self, zeroconf, type_, name):
        print "Service", name, "removed"

    def addService(self, zeroconf, type_, name):
        print "Service", name, "added"
        print "Type is", type_
        info = None
        retries = 0
        while not info and retries < 10:
            info = self.r.getServiceInfo(type_, name)
            if not info:
                print "  (timeout)"
            retries += 1
        print "Address is", str(socket.inet_ntoa(info.getAddress()))
        print "Port is", info.getPort()
        print "Weight is", info.getWeight()
        print "Priority is", info.getPriority()
        print "Server is", info.getServer()
        print "Text is", repr(info.getText())
        print "Properties are", info.getProperties()
Пример #3
0
def main(ip=None):
    print "Multicast DNS Service Discovery for Python, version", __version__
    # It MUST be 0.0.0.0. NOT the local IP address or 127.0.0.1.
    # Otherwise, at least in GNU/Linux, it doesn't get the service
    # info of services registered in other processes (e.g. "coolserver")
    r = Zeroconf( "0.0.0.0" ) 
    #host_ip = socket.gethostbyname( socket.gethostname())
    host_ip = get_ip_address()
    try:
        
        print "1. Testing query of own service..."
        my_service = r.getServiceInfo("_test._tcp.local.", "AndroidTest._test._tcp.local.")
        print "   Getting self:", str(my_service)
        print "   Query done."
        
        raw_input( 'Press <enter> to release name > ' )

    finally:
        r.close()
Пример #4
0
def main(ip=None):
    print "Multicast DNS Service Discovery for Python, version", __version__
    # It MUST be 0.0.0.0. NOT the local IP address or 127.0.0.1.
    # Otherwise, at least in GNU/Linux, it doesn't get the service
    # info of services registered in other processes (e.g. "coolserver")
    r = Zeroconf("0.0.0.0")
    host_ip = socket.gethostbyname(socket.gethostname())
    try:
        print "1. Testing registration of a service..."
        desc = {'version': '0.10', 'a': 'test value', 'b': 'another value'}
        info = ServiceInfo("_http._tcp.local.",
                           "My Service Name._http._tcp.local.",
                           socket.inet_aton(host_ip), 1234, 0, 0, desc)
        print "   Registering service..."
        r.registerService(info)
        print "   Registration done."

        print "2. Testing query of service information..."
        service_info = r.getServiceInfo("_http._tcp.local.",
                                        "coolserver._http._tcp.local.")
        print "   Getting 'coolserver' service: %r" % service_info
        if service_info is None:
            print "       (Did you expect to see here the details of the 'coolserver' service? Try running 'nameprobe.py' before!)"
        print "   Query done."

        print "3. Testing query of own service..."
        my_service = r.getServiceInfo("_http._tcp.local.",
                                      "My Service Name._http._tcp.local.")
        print "   Getting self:", str(my_service)
        print "   Query done."

        raw_input('Press <enter> to release name > ')

        print "4. Testing unregister of service information..."
        r.unregisterService(info)
        print "   Unregister done."
    finally:
        r.close()
Пример #5
0
def main(ip=None):
    print "Multicast DNS Service Discovery for Python, version", __version__
    # It MUST be 0.0.0.0. NOT the local IP address or 127.0.0.1.
    # Otherwise, at least in GNU/Linux, it doesn't get the service
    # info of services registered in other processes (e.g. "coolserver")
    r = Zeroconf( "0.0.0.0" ) 
    host_ip = socket.gethostbyname( socket.gethostname())
    try:
        print "1. Testing registration of a service..."
        desc = {'version':'0.10','a':'test value', 'b':'another value'}
        info = ServiceInfo(
            "_http._tcp.local.", "My Service Name._http._tcp.local.",
            socket.inet_aton(host_ip), 1234, 0, 0, desc
        )
        print "   Registering service..."
        r.registerService(info)
        print "   Registration done."
        
        print "2. Testing query of service information..."
        service_info = r.getServiceInfo("_http._tcp.local.", "coolserver._http._tcp.local.")
        print "   Getting 'coolserver' service: %r" % service_info
        if service_info is None:
	  print "       (Did you expect to see here the details of the 'coolserver' service? Try running 'nameprobe.py' before!)"
        print "   Query done."
        
        print "3. Testing query of own service..."
        my_service = r.getServiceInfo("_http._tcp.local.", "My Service Name._http._tcp.local.")
        print "   Getting self:", str(my_service)
        print "   Query done."
        
        raw_input( 'Press <enter> to release name > ' )
        
        print "4. Testing unregister of service information..."
        r.unregisterService(info)
        print "   Unregister done."
    finally:
        r.close()
Пример #6
0
import socket
from zeroconf.dns import ServiceInfo
from zeroconf.mdns import Zeroconf
import localint
import sys
import httprequests


if __name__ == "__main__":
	z = Zeroconf("0.0.0.0")

	base_name = 'ns.local.'
	my_ip = localint.getLocalIP('www.google.fr')
	stype = '_dns._udp.local.'
	login = '******'
	password = '******'
	
	# registering DNS service and nameprobe on mDNS group
	try:
		full_name = '%s.%s'%( base_name.split('.')[0], stype )
		s = ServiceInfo(
			stype,
			full_name, # FQDN mDNS name of server
			server = base_name, # simplified servername (xx1.local.)
			address = socket.inet_aton(my_ip),
			port = 53,
			properties = {"hello":"world", "dept":"ricm"}, # Setting DNS TXT records...
		)
		z.registerService( s )
		serv_name = z.probeName( base_name )
		z.unregisterService( s )
Пример #7
0
def main( base_name='coolserver.local.', stype="_http._tcp.local."):
    # http://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1
    z = Zeroconf( "0.0.0.0" ) # 0.0.0.0 represents all IP addresses on the local machine
    try:
        name = '%s.%s'%( base_name.split('.')[0], stype )
        s = ServiceInfo(
            stype,
            name,
            server = base_name,
            address = socket.inet_aton('127.0.0.1'),
            port = 8080,
            properties = {"hello":"world", "dept":"deustotech"}, # Setting DNS TXT records...
        )
        
        z.registerService( s )
        name = z.probeName( base_name )
        z.unregisterService( s )
        print 'Negotiated name:', name
        s.server = name 
        z.checkService( s )
        z.registerService( s )
        raw_input( 'Press <enter> to release name > ' )
    finally:
        z.close()
Пример #8
0
 def __init__(self):
     self.r = Zeroconf('')
     pass
Пример #9
0
            if not info:
                print "  (timeout)"
            retries += 1
        print "Address is", str(socket.inet_ntoa(info.getAddress()))
        print "Port is", info.getPort()
        print "Weight is", info.getWeight()
        print "Priority is", info.getPriority()
        print "Server is", info.getServer()
        print "Text is", repr(info.getText())
        print "Properties are", info.getProperties()

if __name__ == '__main__':
    import logging, sys
    logging.basicConfig(level=logging.WARNING)
    print "Multicast DNS Service Discovery for Python Browser test"
    if sys.argv[1:]:
        type_ = sys.argv[1]
    else:
        type_ = "_http._tcp.local."
    r = Zeroconf()
    try:
        print "1. Testing browsing for a service (ctrl-c to stop)..."
        try:
            listener = MyListener()
            browser = ServiceBrowser(r, type_, listener)
            raw_input( 'Press <enter> to exit' )
        except KeyboardInterrupt, err:
            print 'Exiting'
    finally:
        r.close()
Пример #10
0
 def __init__(self):
     self.r = Zeroconf('')
     pass
Пример #11
0
                print "  (timeout)"
            retries += 1
        print "Address is", str(socket.inet_ntoa(info.getAddress()))
        print "Port is", info.getPort()
        print "Weight is", info.getWeight()
        print "Priority is", info.getPriority()
        print "Server is", info.getServer()
        print "Text is", repr(info.getText())
        print "Properties are", info.getProperties()


if __name__ == '__main__':
    import logging, sys
    logging.basicConfig(level=logging.WARNING)
    print "Multicast DNS Service Discovery for Python Browser test"
    if sys.argv[1:]:
        type_ = sys.argv[1]
    else:
        type_ = "_http._tcp.local."
    r = Zeroconf()
    try:
        print "1. Testing browsing for a service (ctrl-c to stop)..."
        try:
            listener = MyListener()
            browser = ServiceBrowser(r, type_, listener)
            raw_input('Press <enter> to exit')
        except KeyboardInterrupt, err:
            print 'Exiting'
    finally:
        r.close()
Пример #12
0
            # info = r.getServiceInfo(type_, name)
            if not info:
                print "  (timeout)"
            retries += 1
        self.address = str(socket.inet_ntoa(info.getAddress()))

    def getServAddress(self):
        return self.address


# Main of the program
if __name__ == "__main__":
    # static variables
    print ("Testing browsing for DNS service ")
    find_type = "_dns._udp.local."
    zc = Zeroconf("0.0.0.0")
    serv_ip = ""

    base_name = "client.local."
    client_ip = localint.getLocalIP("www.google.fr")
    client_type = "_http._tcp.local."
    client_port = 55555
    login = "******"
    password = "******"

    # search for real DNS server by mDNS
    try:
        listener = MyListener(zc)
        browser = ServiceBrowser(zc, find_type, listener)
        serv_ip = listener.getServAddress()
        test = 0