Django項目:堡壘機(Linux服務器主機管理系統)--03--03堡壘機在Linux系統裏記錄會話日誌01/02 python相關軟件安裝流程圖解——linux 安裝python3——Pytho

請先確保已經安裝了虛擬機以及python3

python相關軟件安裝流程圖解——linux 安裝python3——Python-3.7.1

 

.html

 

 1 ————————安裝django 開始————————
 2 login as: root 
 3 root@192.192.168.126's password: 123456
 4 [root@localhost ~]# python3
 5 >>> import django
 6 >>> exit()
 7 [root@localhost ~]# pip3 install --upgrade pip
 8 [root@localhost ~]# pip3 install --default-timeout=1000 Django==2.1.4
 9 [root@localhost ~]# python3
10 >>> import django
11 >>> print(django.get_version())
12 2.1.4
13 >>> exit()
14 ————————安裝django 結束————————
安裝django

 

 


 

python相關軟件安裝流程圖解——虛擬機操做——複製虛擬機主機——CentOS-7-x86_64-DVD-1810

 

 

 

 

 

 


 

安裝測試 strace跟蹤線程

 

 1 ————————安裝strace跟蹤線程 開始————————
 2 [root@localhost ~]# yum -y install strace           
 3 [root@localhost ~]# ssh root@192.192.168.110        |
 4 root@192.192.168.110's password:123456              |
 5                                                     | [root@localhost ~]# ps -ef
 6                                                     | UID        PID  PPID  C STIME TTY          TIME CMD
 7                                                     | root      5999  5936  0 08:06 pts/2    00:00:00 ssh root@192.192.168.110
 8                                                     | [root@localhost ~]# sudo strace -p 5999
 9 [root@localhost ~]# l                               | read(4, "l", 16384)                     = 1
10                                                     | [root@localhost ~]# sudo strace -p 5999 -o eye.log
11 [root@localhost ~]# A                               | 
12                                                     | [root@localhost ~]# cat eye.log                                    
13                                                     | [root@localhost ~]# cat eye.log |grep 'read(4'
14                                                     | read(4, "A", 16384)                     = 1
15 ————————安裝strace跟蹤線程 結束————————
安裝strace跟蹤線程

 

 

 

 

 

 

 

 


 

測試 自動輸入帳號密碼的插件

 

 1 """
 2 ————————sshpass能夠在命令行直接使用密碼來進行遠程鏈接和遠程拉取文件 開始————————
 3 [root@localhost ~]# yum -y install sshpass
 4 [root@localhost ~]# sshpass -p 123456 ssh -p 22 root@192.192.168.110
 5 [root@localhost ~]# ip addr
 6 ————————用python調用sshpass 開始————————
 7 [root@localhost ~]# python3
 8 >>> import subprocess
 9 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -o StrictHostKeyChecking=no",shell=True)
10 ————————另啓一個會話查看————————
11 [root@localhost ~]# ps -ef
12 UID        PID  PPID  C STIME TTY          TIME CMD
13 root      5147  5146  0 09:41 pts/8    00:00:00 ssh root@192.192.168.110 -o StrictHostKeyCh
14 [root@localhost ~]# sudo strace -fp 5147 -t -o eye.log
15 [root@localhost ~]# cat eye.log  
16 ————獲取進程號 開始————
17 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110'
18 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh
19 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh | grep -v sshpass
20 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh | grep -v sshpass | awk '{ print $2 }'
21 ————獲取進程號 結束————
22 ————————用python調用sshpass 結束————————
23 ————————sshpass能夠在命令行直接使用密碼來進行遠程鏈接和遠程拉取文件 結束————————
24 """
用python調用sshpass

 

 

 

 


 

用python調用sshpass



 

 

 


 

獲取進程號

 

 1 """
 2 ————————獲取進程號,惟一標識 開始————————
 3 [root@localhost ~]# python3
 4 >>> import subprocess
 5 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -E wybs123 -o StrictHostKeyChecking=no",shell=True)
 6 ————————另啓一個登錄會話————————
 7 [root@localhost ~]# python3
 8 >>> import subprocess
 9 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -E wybs456 -o StrictHostKeyChecking=no",shell=True)
10 ————————另啓一個會話查看————————
11 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh | grep -v sshpass | grep  wybs123 | awk '{ print $2 }'    
12 [root@localhost ~]# ps -ef | grep  wybs123 | grep ssh | grep -v sshpass | awk '{ print $2 }'    
13 ————————獲取進程號,惟一標識  結束————————
14 """
獲取進程號,惟一標識

 

 

 

 

 

 

 

 

 


 

SH腳本測試

 

 1 """
 2 E:\堡壘機\eye\Fortress\backend\session_tracker.sh 複製到 CentOS-7 的 /home/ 目錄下
 3 ————————SH腳本測試 開始————————
 4 [root@localhost ~]# sh /home/session_tracker.sh 
 5 [root@localhost ~]# sh /home/session_tracker.sh wybs123 99 
 6 ————————SH腳本測試 結束————————
 7 ————————用python3測試SH腳本 開始————————
 8 [root@localhost ~]# python3
 9 >>> import subprocess
10 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -E wybs123 -o StrictHostKeyChecking=no",shell=True)
11 ————————另啓一個會話查看————————
12 [root@localhost ~]# ps -ef | grep  wybs123 | grep ssh | grep -v sshpass | awk '{ print $2 }' 
13 [root@localhost ~]# sh /home/session_tracker.sh wybs123 99 
14 ————————用python3測試SH腳本 結束————————
15 """
SH腳本測試

 

 

 

 

 1 #!/bin/bash
 2 #session_tracker.sh
 3 # ————————————————03堡壘機在Linux系統裏記錄會話日誌 開始————————————————
 4 echo "-------- 啓動會話(strace跟蹤)記錄 --------"
 5 basepath=$(cd `dirname $0`; pwd)
 6 echo "-- SH腳本當前目錄的路徑:$0 | 上級目錄的路徑: $basepath --"
 7 #sh 動態路徑/Fortress/backend/session_tracker.sh %s %s--
 8 echo "-- 惟一標識: $1 | 新的會話的ID:$2 --"
 9 ssh_uuid=$1
10 session_obj_id=$2
11 
12 #循環獲取進程的ID,進行30次,每判斷一次中止1秒
13 for i in $(seq 1 30);do
14      process_id=$(ps -ef |grep $ssh_uuid |grep ssh |grep -v sshpass |grep -v $0  |awk '{ print $2 }'  )
15      echo "搜/濾出進程號 |搜索 $ssh_uuid |搜索 ssh |過濾掉  sshpass |過濾掉  $0  |處理 { 打印  $2 } "
16      #|awk '{ print $2 }' | awk是行處理器--print是awk打印指定內容的主要命令"
17 
18      echo "---- 開始判斷是否獲取到了,進程的ID: $process_id ----"
19      if [ ! -z $process_id  ];then
20          echo "-- 已獲取到進程ID,準備建立日誌目錄和文件!-- "
21          log_path=$basepath/log/`date +%F`
22          echo "-- 生成會話日誌的路徑: $log_path | 當天日期:`date +%F` -- "
23          mkdir -p $log_path
24          echo "-- 建立目錄成功!-- "
25 
26          #" -e trace=rean,write 表示只跟蹤這2個 | -s 9999 輸出長度 | -f 子進程  | -p 進程pid | -t時間 | -o寫入文件"
27          sudo strace -e trace=read,write -s 9999 -f -p $process_id -t -o $log_path/session_$session_obj_id.txt
28          echo "-- strace跟蹤監控:進程ID: $process_id  | 路徑: $log_path  | 文件名-會話的ID: $session_obj_id -- "
29          echo "---退出循環---"
30          break; 
31      fi;
32      #結束判斷,中止1秒
33      sleep 1;     
34 done;
35 # ————————————————03堡壘機在Linux系統裏記錄會話日誌 結束————————————————
#session_tracker.sh

 

 

 

 

 

 

 


 

 1 """
 2 ————————安裝django 開始————————
 3 login as: root 
 4 root@192.192.168.126's password: 123456
 5 [root@localhost ~]# python3
 6 >>> import django
 7 >>> exit()
 8 [root@localhost ~]# pip3 install --upgrade pip
 9 [root@localhost ~]# pip3 install --default-timeout=1000 Django==2.1.4
10 [root@localhost ~]# python3
11 >>> import django
12 >>> print(django.get_version())
13 2.1.4
14 >>> exit()
15 ————————安裝django 結束————————
16 """
17 """
18 ————————安裝strace跟蹤線程 開始————————
19 [root@localhost ~]# yum -y install strace           
20 [root@localhost ~]# ssh root@192.192.168.110        |
21 root@192.192.168.110's password:123456              |
22                                                     | [root@localhost ~]# ps -ef
23                                                     | UID        PID  PPID  C STIME TTY          TIME CMD
24                                                     | root      5999  5936  0 08:06 pts/2    00:00:00 ssh root@192.192.168.110
25                                                     | [root@localhost ~]# sudo strace -p 5999
26 [root@localhost ~]# l                               | read(4, "l", 16384)                     = 1
27                                                     | [root@localhost ~]# sudo strace -p 5999 -o eye.log
28 [root@localhost ~]# A                               | 
29                                                     | [root@localhost ~]# cat eye.log                                    
30                                                     | [root@localhost ~]# cat eye.log |grep 'read(4'
31                                                     | read(4, "A", 16384)                     = 1
32 ————————安裝strace跟蹤線程 結束————————
33 """
34 """
35 ————————sshpass能夠在命令行直接使用密碼來進行遠程鏈接和遠程拉取文件 開始————————
36 [root@localhost ~]# yum -y install sshpass
37 [root@localhost ~]# sshpass -p 123456 ssh -p 22 root@192.192.168.110
38 [root@localhost ~]# ip addr
39 ————————用python調用sshpass 開始————————
40 [root@localhost ~]# python3
41 >>> import subprocess
42 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -o StrictHostKeyChecking=no",shell=True)
43 ————————另啓一個會話查看————————
44 [root@localhost ~]# ps -ef
45 UID        PID  PPID  C STIME TTY          TIME CMD
46 root      5147  5146  0 09:41 pts/8    00:00:00 ssh root@192.192.168.110 -o StrictHostKeyCh
47 [root@localhost ~]# sudo strace -fp 5147 -t -o eye.log
48 [root@localhost ~]# cat eye.log  
49 ————獲取進程號 開始————
50 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110'
51 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh
52 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh | grep -v sshpass
53 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh | grep -v sshpass | awk '{ print $2 }'
54 ————獲取進程號 結束————
55 ————————用python調用sshpass 結束————————
56 ————————sshpass能夠在命令行直接使用密碼來進行遠程鏈接和遠程拉取文件 結束————————
57 """
58 """
59 ————————獲取進程號,惟一標識 開始————————
60 [root@localhost ~]# python3
61 >>> import subprocess
62 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -E wybs123 -o StrictHostKeyChecking=no",shell=True)
63 ————————另啓一個登錄會話————————
64 [root@localhost ~]# python3
65 >>> import subprocess
66 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -E wybs456 -o StrictHostKeyChecking=no",shell=True)
67 ————————另啓一個會話查看————————
68 [root@localhost ~]# ps -ef | grep 'root@192.192.168.110' | grep ssh | grep -v sshpass | grep  wybs123 | awk '{ print $2 }'    
69 [root@localhost ~]# ps -ef | grep  wybs123 | grep ssh | grep -v sshpass | awk '{ print $2 }'    
70 ————————獲取進程號,惟一標識  結束————————
71 """
72 """
73 E:\堡壘機\eye\Fortress\backend\session_tracker.sh 複製到 CentOS-7 的 /home/ 目錄下
74 ————————SH腳本測試 開始————————
75 [root@localhost ~]# sh /home/session_tracker.sh 
76 [root@localhost ~]# sh /home/session_tracker.sh wybs123 99 
77 ————————SH腳本測試 結束————————
78 ————————用python3測試SH腳本 開始————————
79 [root@localhost ~]# python3
80 >>> import subprocess
81 >>> subprocess.run("sshpass -p 123456 ssh root@192.192.168.110 -E wybs123 -o StrictHostKeyChecking=no",shell=True)
82 ————————另啓一個會話查看————————
83 [root@localhost ~]# ps -ef | grep  wybs123 | grep ssh | grep -v sshpass | awk '{ print $2 }' 
84 [root@localhost ~]# sh /home/session_tracker.sh wybs123 99 
85 ————————用python3測試SH腳本 結束————————
86 """
以上所有測試命令

 

 1 #!/bin/bash
 2 #session_tracker.sh
 3 # ————————————————03堡壘機在Linux系統裏記錄會話日誌 開始————————————————
 4 echo "-------- 啓動會話(strace跟蹤)記錄 --------"
 5 basepath=$(cd `dirname $0`; pwd)
 6 echo "-- SH腳本當前目錄的路徑:$0 | 上級目錄的路徑: $basepath --"
 7 #sh 動態路徑/Fortress/backend/session_tracker.sh %s %s--
 8 echo "-- 惟一標識: $1 | 新的會話的ID:$2 --"
 9 ssh_uuid=$1
10 session_obj_id=$2
11 
12 #循環獲取進程的ID,進行30次,每判斷一次中止1秒
13 for i in $(seq 1 30);do
14      process_id=$(ps -ef |grep $ssh_uuid |grep ssh |grep -v sshpass |grep -v $0  |awk '{ print $2 }'  )
15      echo "搜/濾出進程號 |搜索 $ssh_uuid |搜索 ssh |過濾掉  sshpass |過濾掉  $0  |處理 { 打印  $2 } "
16      #|awk '{ print $2 }' | awk是行處理器--print是awk打印指定內容的主要命令"
17 
18      echo "---- 開始判斷是否獲取到了,進程的ID: $process_id ----"
19      if [ ! -z $process_id  ];then
20          echo "-- 已獲取到進程ID,準備建立日誌目錄和文件!-- "
21          log_path=$basepath/log/`date +%F`
22          echo "-- 生成會話日誌的路徑: $log_path | 當天日期:`date +%F` -- "
23          mkdir -p $log_path
24          echo "-- 建立目錄成功!-- "
25 
26          #" -e trace=rean,write 表示只跟蹤這2個 | -s 9999 輸出長度 | -f 子進程  | -p 進程pid | -t時間 | -o寫入文件"
27          sudo strace -e trace=read,write -s 9999 -f -p $process_id -t -o $log_path/session_$session_obj_id.txt
28          echo "-- strace跟蹤監控:進程ID: $process_id  | 路徑: $log_path  | 文件名-會話的ID: $session_obj_id -- "
29          echo "---退出循環---"
30          break; 
31      fi;
32      #結束判斷,中止1秒
33      sleep 1;     
34 done;
35 # ————————————————03堡壘機在Linux系統裏記錄會話日誌 結束————————————————
session_tracker.sh
相關文章
相關標籤/搜索