天天看點

python攻擊腳本執行指令_python 執行shell 指令,自動化添加攻擊IP位址到iptables

通過python執行shell指令的方法有4種,在這裡介紹一種常用的。

os.system、 os.popen、 commands、 subprocess

接下來介紹subprocess的使用

通過python 日志分析,擷取到攻擊源IP位址,收集寫入到mysql資料庫中

mysql如下:

python攻擊腳本執行指令_python 執行shell 指令,自動化添加攻擊IP位址到iptables

iptables.py腳本

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import os

import MySQLdb

import subprocess

try:

connection = MySQLdb.connect(user=‘soul‘,passwd=‘soul‘,host=‘127.0.0.1‘,db=‘iptable‘,port=3306,use_unicode=1,charset="utf8")

cursor = connection.cursor()

cursor.execute(‘select * from iptables‘)

data = cursor.fetchall()

cursor.close()

connection.close()

except MySQLdb.Error,err_msg:

print ‘MySQLdb error msg:‘ ,err_msg

def insert():

for info in data:

ipaddress = info[1]

print ‘成功插入IP黑名單:%s‘ %ipaddress

subprocess.call([‘/sbin/iptables -I INPUT -s %s -p tcp --dport 8000 -j ACCEPT‘ % ipaddress],  shell=True)

def save():

subprocess.call([‘service iptables save‘], shell=True)

if __name__ == ‘__main__‘:

insert()

save()

python iptables.py

result:

python攻擊腳本執行指令_python 執行shell 指令,自動化添加攻擊IP位址到iptables

原文:http://soul455879510.blog.51cto.com/6180012/1943514