.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 結束————————
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跟蹤線程 結束————————
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 """
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 """
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 """
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系統裏記錄會話日誌 結束————————————————
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系統裏記錄會話日誌 結束————————————————