适用客户端数量多,或者是对于客户端数量及状态比较敏感的情况下
cat /root/WLC_client_auth/create_list.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import paramiko
import socket
import time,os
ip_list = ["WLC IP","IP2"]
username = "登录账户"
password = "密码"
#paramiko.util.log_to_file('paramiko.log')
def cmd(ip):
client = paramiko.SSHClient()
#client.load_system_host_keys('/root/.ssh/known_hosts')
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(ip,22,username,password,allow_agent=False,look_for_keys=False)
#time.sleep(float(3))
ssh_shell = client.invoke_shell()
#ssh_shell.keep_this = client
time.sleep(float(1))
cmd_list = ["XXXX@game.ntes","SURpass@2","show client state summary"]
x = ""
for cmd in cmd_list:
ssh_shell.sendall(cmd.strip() + '\n')
time.sleep(float(1))
x = x + ssh_shell.recv(1024)
client.close()
return x
def list(ip):
list = cmd(ip)
f = open("/usr/local/zabbix/bin/wireless_client_list/list.txt",'wb')
f.write(list)
f.close()
def list2(ip):
list = cmd(ip)
f = open("/usr/local/zabbix/bin/wireless_client_list/list2.txt",'wb')
f.write(list)
f.close()
if __name__ == '__main__':
list("IP1")
list2("IP2")
呈现效果:
[root@localhost ~]# cat /usr/local/zabbix/bin/wireless_client_list/list.txt
(Cisco Controller)
User: 账户
Password:*********
(Cisco Controller) >show client state summary
Client State Summary
====================
State Number of Clients
----- -----------------
8021X_REQD 2
DHCP_REQD 1
RUN 87
----- -----------------
Total 90