欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

自己亲自做的 python 测试到 FTP 服务器的网络连通性 有大用 有大大用

test_network_to_2.134_22.py

#!/usr/bin/python3    
from ping3 import ping, verbose_ping
import socket    
import sys    
import pysftp    
import tkinter as tk    
from paramiko.ssh_exception import AuthenticationException    
host = '192.168.19.3'    
port = 22    

   
def net_connection_err():
    label = tk.Label(root)
    btn1 = tk.Button(root, command=root.destroy)
    btn1["text"] = "确定"    
    root.title('提示')
    label["text"] = '这个电脑没有网络,请检查!'    
    label.grid(column=0, row=1, padx=10, pady=2)
    btn1.grid(column=0, row=2, padx=10, pady=2)
    # root.geometry("250x100") #为了居中,最好不要设定宽度和高度吧    
    root.mainloop()
    sys.exit()
root = tk.Tk()
try:
    latency = ping('192.168.2.2')  # 获取延迟时间,单位为微秒    
    if latency is None or  latency == False  :
        net_connection_err()
except Exception as err:
    net_connection_err()
print(latency)
#得到本地ip    
def get_local_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(('192.168.2.2', 80))
    local_ip = s.getsockname()[0]
    s.close()
    return local_ip    
local_ip = "本机 ip "+get_local_ip()
def to_ftp_net_error():
    info_label0 = tk.Label(root, text=local_ip)
    info_label0.grid(column=0, row=1, padx=2, pady=2)
    label = tk.Label(root)
    btn1 = tk.Button(root, command=root.destroy)
    btn1["text"] = "确定"    
    label["text"] = '到FTP服务器网络不通,请联系 JS-ES.Security@luxshare-ict.com'    
    label.grid(column=0, row=2, padx=10, pady=2)
    btn1.grid(column=0, row=3, padx=10, pady=2)
    root.title('测试FTP网络连通')
    #root.geometry("250x100")   #不能设宽度,才能居中    
    root.mainloop()
    sys.exit()
def to_ftp_net_ok():
    info_label0 = tk.Label(root, text=local_ip)
    info_label0.grid(column=0, row=1, padx=2, pady=2)
    label = tk.Label(root)
    btn1 = tk.Button(root, command=root.destroy)
    btn1["text"] = "确定"    
    label["text"] = '到FTP服务器的网络是通的'    
    label.grid(column=0, row=2, padx=10, pady=2)
    btn1.grid(column=0, row=3, padx=10, pady=2)
    root.title('测试FTP网络连通')
    #root.geometry("250x100")   #不能设宽度,才能居中    
    root.mainloop()
    sys.exit()

   
# 创建 socket 对象    
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(4)  # 超时为4秒    
try:
    s.connect((host, port))
    msg = s.recv(64)
# s.connect(('192.168.2.134', 22))    
# 接收小于 1024 字节的数据    
except TimeoutError as err:
    to_ftp_net_error()
except Exception as err:
    to_ftp_net_error()
else:
    to_ftp_net_ok()
finally:
    s.close()




普通分类: