Сеть - тестирование подключения [Python или C] - PullRequest
1 голос
/ 27 июня 2010

Допустим, я хочу посмотреть, подключен ли мой ftp-сервер, как я могу это сделать в программе.Кроме того, что, по вашему мнению, было бы самым простым и наименее навязчивым способом.

Ответы [ 2 ]

2 голосов
/ 27 июня 2010

Лично я бы сначала попытался сделать это с помощью nmap, http://nmap.org.

nmap $HOSTNAME -p 21

Чтобы проверить порт 21 (ftp) в списке серверов в python, он может выглядеть следующим образом:

#!/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)
1 голос
/ 27 июня 2010

Подключитесь к порту вашего FTP-сервера, чтобы узнать, принимает ли он подключения.

Если вы хотите пойти еще дальше, вы можете отправить команду ls и убедиться, что вы получили разумный ответ.

Если вы хотите сделать это в Python, вы можете использовать ftplib .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...