1
假設我想看看我的ftp服務器是否在線,我怎麼能在程序中這樣做。 另外,你認爲最簡單和最不干擾的方式是什麼?網絡測試連接[Python或C]
假設我想看看我的ftp服務器是否在線,我怎麼能在程序中這樣做。 另外,你認爲最簡單和最不干擾的方式是什麼?網絡測試連接[Python或C]
就我個人而言,我會先嚐試nmap來做到這一點,http://nmap.org。
nmap $HOSTNAME -p 21
在Python服務器列表上測試端口21(FTP)可能是這樣的:
#!/usr/bin/env python
from socket import *
host_list=['localhost', 'stackoverflow.com']
port=21 # (FTP port)
def test_port(ip_address, port, timeout=3):
s = socket(AF_INET, SOCK_STREAM)
s.settimeout(timeout)
result = s.connect_ex((ip_address, port))
s.close()
if(result == 0):
return True
else:
return False
for host in host_list:
if test_port(gethostbyname(host), port):
print 'Successfully connected to',
else:
print 'Failed to connect to',
print '%s on port %d' % (host, port)
如果我想這樣做只是任何一臺電腦,看它是否是網上? – dave9909 2010-06-26 22:42:38
@ dave9909:然後ping它。 – 2010-06-26 22:44:42