Python安全脚本 ---- Linux主机基线查询

总体思路:

调用pexpect模块中的pxssh 与Linux主机实现交互,然后批量导入命令。

能实现与Linux主机交互的方式:

from pexpect import pxssh

s = pxssh.pxssh()      
        s.login(host,username,passwd)    
        s.sendline(cmd)
        s.prompt()             
        print s.before     

能实现批量导入命令的方式:

dictionary = open(dir_name,'r')

for line in dictionary.readlines():
     cmd = line.strip('\n'

用于查询Linux主机基线命令的txt字典(可按需增减):

cat /etc/issue

ifconfig

cat /etc/passwd

cat /etc/pam.d/system-auth

cat /etc/login.defs

cat /etc/ssh/sshd_config

ls -l /etc/passwd /etc/shadow /etc/group

cat /etc/profile

service --status-all

chkconfig

cat /etc/init/control-alt-delete.conf

结合在一起:

#! /usr/bin/python
# coding=utf-8
# __author__='Dou—wei'

import sys
from pexpect import pxssh


host = sys.argv[1]
username = sys.argv[2]
passwd = sys.argv[3]
dir_name = sys.argv[4]


def try_ssh(host,username,passwd,cmd):
    try:
        s = pxssh.pxssh()      
        s.login(host,username,passwd)    
        s.sendline(cmd)
        print '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' 
        s.prompt()             
        print s.before                  
    except Exception,e:
        print e


def main():
    dictionary = open(dir_name,'r')
    for line in dictionary.readlines():
    cmd = line.strip('\n')
    try:
       try_ssh(host,username,passwd,cmd)
    except:
       pass
        

if __name__=='__main__':
    main()    
        

效果如下:

猜你喜欢

转载自www.cnblogs.com/ScriptKid-Lu/p/10730866.html