2017-01-02 1 views
0

This page hat Dokumentation auf Pygodaddy, das ist ein Python-Skript, um die IPv4-Adresse in Go Daddy DNS zu aktualisieren. Ich installierte dieses Paket auf meinem CentOS-Rechner mit pip install pygodaddy. Die Dokumentation dieses Beispiel lautet:Python pygodaddy Verbindung Zeitüberschreitung

from pygodaddy import GoDaddyClient 
client = GoDaddyClient() 
if client.login(username, password): 
    print client.find_domains() 
    client.update_dns_record('sub.example.com', '1.2.3.4') 

Auf meiner CentOS Maschine, ich habe eine Datei mit dem Namen godaddy.py erstellt, mit dem folgenden. Hinweis: Der Benutzername und das Passwort dienen nur der Demonstration und nicht meinem echten Benutzernamen und Passwort.

#!/usr/bin/env python 
import pygodaddy 
import logging 

from pygodaddy import GoDaddyClient 
client = GoDaddyClient() 
logging.basicConfig(filename=/var/log/godaddy/godaddy.log, format='%(asctime)S %(message)s', level=logging.DEBUG) 
if client.login('36524174', 'Bht45f!as34Ra'): 
    print client.find_domains() 
    client.update_dns_record('wima2.freekb.net', '12.34.56.78') 

Bei der Eingabe Python godaddy.py im Terminal, geschieht nichts für eine Weile, und dann schließlich wird dies angezeigt:

File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 487, in send 
    raise ConnectionError(e, request=request) 
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='dns.godaddy.com', port=443): Max retries exceeded with url: /default.aspx (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x176e350>: Failed to establish a new connection: [Errno 110] Connection timed out',)) 

ich deaktiviert iptables haben. Ich habe die Berechtigungen meines Skripts auf 777 gesetzt, im Besitz von root: root.

This post empfiehlt das Hinzufügen von Schlaf (int). Ich habe Schlaf hinzugefügt (1), aber ich bekomme immer noch eine Verbindung aus.

Da ich relativ neu zu Python bin, bin ich nicht sicher, wie dieses Verbindungsproblem zu debuggen ist.

BEARBEITEN: Während ich einen Proxy-Server in meinem LAN habe, habe ich meine Computer so konfiguriert, dass kein Datenverkehr über meinen Proxy-Server geleitet wird. Auf jedem Rechner in meinem LAN, Linux oder Windows kann ich dns.godaddy.com pingen, und ich bekomme eine Antwort, ohne Paketverlust, also weiß ich, dass ich die Möglichkeit habe, mit dns.godaddy.com zu sprechen. Das Python-Skript verwendet Port 443. Wenn ich versuche, Telnet dns.godaddy.com 443, die Zeitüberschreitung der Verbindung.

Ich habe auch versucht mit nmap, um die Hops zwischen meinem Client und dns.godaddy.com zu sehen. Zu meiner Überraschung können die Pakete, wenn sie die Route zu dns.godaddy.com auf Port 443 verfolgen, den ganzen Weg nach dns.godaddy.com gehen. Ich frage mich, warum ich Verbindung mit Telnet und dem Python-Skript Zeitlimit erreicht, aber nmap ist in der Lage zu "verbinden".

nmap -Pn --traceroute -p 443 dns.godaddy.com 

Starting Nmap 6.40 (http://nmap.org) at 2017-01-02 19:17 CST 
Nmap scan report for dns.godaddy.com (104.238.65.158) 
Host is up (0.076s latency). 
rDNS record for 104.238.65.158: ip-104-238-65-158.ip.secureserver.net 
PORT  STATE  SERVICE 
443/tcp filtered https 

TRACEROUTE (using proto 1/icmp) 
HOP RTT  ADDRESS 
1 4.67 ms r1.software.eng.us (192.168.0.1) 
2 18.84 ms 142.254.152.173 
3 35.83 ms ae62.applwibp02h.midwest.rr.com (24.164.240.217) 
4 28.85 ms be22.gnfdwibb01r.midwest.rr.com (65.31.113.6) 
5 30.93 ms bu-ether16.chcgildt87w-bcr00.tbone.rr.com (66.109.6.204) 
6 33.18 ms bu-ether11.chctilwc00w-bcr00.tbone.rr.com (66.109.6.21) 
7 77.75 ms 4.28.83.74 
8 69.48 ms ip-184-168-0-117.ip.secureserver.net (184.168.0.117) 
9 83.20 ms ip-104-238-65-158.ip.secureserver.net (104.238.65.158) 
+0

Außerhalb von gut, TCP-Verbindung Zeitüberschreitung möchten Sie wirklich Ihre ClientID und Passwort aus dem ersten und letzten Beispiel Code-Snippet entfernen. Und im Allgemeinen ändern Sie es einfach, wenn es das echte ist. – favoretti

+1

Wenn Sie 'telnet dns.godaddy.com 443' von Ihrem Terminal eingeben, erhalten Sie eine Verbindung? – favoretti

+0

Interessant. telnet dns.godaddy.com 443 produziert auch Connection Timeout auf Linux- und Windows-Rechnern in meinem LAN, und wenn ich in einem Browser zu http://dns.godaddy.com oder https://dns.godaddy.com navigiere, " Seite kann nicht erreicht werden "wird angezeigt. Es scheint, dass dnsodaddy.com nicht auf 80 oder 443 hört. Ich werde Go Daddy Support kontaktieren, um zu bestätigen. – JeremyCanfield

Antwort

Verwandte Themen