netstat獲取服務器外部鏈接IP並過濾出非本地服務器程序有關聯的IP腳本

#!/bin/env python
#-*- coding:utf-8 -*-
import os
import sys
from subprocess import Popen
def get_foriegn_ip():
        l = os.popen("netstat -ant|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort -r|uniq -c |awk '{print $2}'|grep -v 'and'|grep -v 'Address'|grep -v '0.0.0.0' > foreign_ip.txt")
def list_different():
        list1=[]
        f = open('foreign_ip.txt','r')
        for line in f.readlines():
                line1=line.replace("\n","")
                list1.append(line1)
        print(list1)
        list2=[]
        f = open('localgroup.txt','r')
        for line in f.readlines():
                line1=line.replace("\n","")
                list2.append(line1)
        print(list2)
        l = [x for x in list1 if x not in list2]
        print(l)
def get_time():
        d = os.popen('echo "$(date +%Y%m%d_%H:%M:%S)">>/root/1.txt')
if __name__ == '__main__':
        get_foriegn_ip()
        list_different()
        get_time()
說明:
1,在將服務器所處集羣相關聯的IP寫入文檔localgroup.txt;
2,將腳本寫入crontab中 python huangyishan.py >> ./1.txt
3,定時任務執行的時候寫入一個時間到文檔1.txt;
4,get_foriegn_ip函數根據本身想要的實際效果靈活修改;

  5,此腳本是在data目錄中執行的,你們能夠隨意更改;python

相關文章
相關標籤/搜索