首页 > 其他 > 详细

收集DMZ的nginx代理信息

时间:2020-06-04 21:45:43      阅读:86      评论:0      收藏:0      [点我收藏+]
#收集DMZ的nginx代理信息
#!/bin/bash #create: 2020/06/04 #update: TYPE=NGINX LOGTXT=/tmp/HW_${TYPE}.log if [ -f ${LOGTXT} ];then >${LOGTXT} fi function get_host_info(){ HOST_NAME=$(hostname -s) HOST_IPADDR=$(ip a s |sed -n ‘/127.0.0.1/d;/inet/p‘|awk ‘{print $2}‘|awk -F/ ‘{print $1}‘|sort) } function get_app_net_info(){ LISTEN_PORT=$(netstat -lntp |tail -n +3 |awk ‘{print $4}‘ |awk ‘BEGIN{FS=":"}{if($2!= "22"){print $2}}‘) REQUEST_IP=$(netstat -anp |grep ESTABLISHED |grep nginx |awk ‘{print $4":"$5}‘ |awk ‘BEGIN{FS=":"}{if($2 == "80" || $2 == "443"){print $3}}‘|sort|uniq) FORWARD_IP=$(netstat -anp |grep ESTABLISHED |grep nginx |awk ‘{print $4":"$5}‘ |awk ‘BEGIN{FS=":"}{if($2 != "80" && $2 != "443"){print $3}}‘|sort |uniq) FORWARD_PORT=$(netstat -anp |grep ESTABLISHED |grep nginx |awk ‘{print $4":"$5}‘ |awk ‘BEGIN{FS=":"}{if($2 != "80" && $2 != "443"){print $4}}‘|sort |uniq) } function get_app_configure_info(){ NGX_PID=$(ps -ef |grep nginx |grep master|awk ‘{print $2}‘) NGX_DIR=$(lsof -p ${NGX_PID}|grep conf |awk ‘{print $NF}‘) if [ ${NGX_DIR}‘x‘ == ‘x‘ ];then NGX_DIR=$(find / -type f -name nginx.conf -print| sed -n ‘/[0-9]/d;/bak/d;1,$‘p|awk -F/ ‘OFS="/"{$NF="";print}‘) fi ##/home/appuser/openresty/nginx/conf/vhost/*.conf for v_file in ${NGX_DIR}/*.conf;do if [ -f ${v_file} ];then NGX_SERVER_NAME=$(sed -n ‘/#/d;/server_name/p;/proxy_pass/p;/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/p‘ ${v_file} |awk ‘{print $1,$2}‘|sort|uniq|awk ‘{if($1 == "server_name"){print $2}}‘|sed -n s/.$//p) NGX_SERVER_PASS_IP=$(sed -n ‘/#/d;/server_name/p;/proxy_pass/p;/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/p‘ ${v_file} |awk ‘{print $1,$2}‘|sort|uniq|awk ‘{if($1 == "server"){print $2}}‘|sed -n s/.$//p) NGX_SERVER_PASS_URL=$(sed -n ‘/#/d;/server_name/p;/proxy_pass/p;/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/p‘ ${v_file} |awk ‘{print $1,$2}‘|sort|uniq|awk ‘{if($1 == "proxy_pass"){print $2}}‘|sed -n s/.$//p |sed -n /[0-9]/p) fi done } function data_to_json(){ echo "{\"HOST_NAME\":\"${HOST_NAME}\",\"HOST_IPADDR\":\"${HOST_IPADDR}\",\"LISTEN_PORT\":\"${LISTEN_PORT}\",\"REQUEST_IP\":\"${REQUEST_IP}\",\"FORWARD_IP\":\"${FORWARD_IP}\",\"FORWARD_PORT\":\"${FORWARD_PORT}\",\"NGX_SERVER_NAME\":\"${NGX_SERVER_NAME}\",\"NGX_SERVER_PASS_IP\":\"${NGX_SERVER_PASS_IP}\",\"NGX_SERVER_PASS_URL\":\"${NGX_SERVER_PASS_URL}\"}" >${LOGTXT} } function main(){ get_host_info get_app_net_info get_app_configure_info data_to_json } main

  

收集DMZ的nginx代理信息

原文:https://www.cnblogs.com/hqt0731/p/13045592.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!