基于Python制作IP查詢網(wǎng)站
前言
運(yùn)維時(shí)發(fā)現(xiàn)一個(gè)問題,局域網(wǎng)內(nèi)有成百上千臺電腦,防火墻策略根據(jù)IP調(diào)整和更新,有的人不會(huì)查自己的IP地址,有沒有什么工具能幫助我讓不懂電腦的人一點(diǎn)就知道自己的IP。
于是我想到了用python快速做一個(gè)簡易查內(nèi)網(wǎng)IP網(wǎng)站,用他們的電腦一訪問網(wǎng)站就知道自己的IP地址。
效果展示
前期準(zhǔn)備
服務(wù)器:Ubuntu 22.04
python 3
還需要pip下載Flask、request、logging、TimedRotatingFileHandler,不然運(yùn)行會(huì)報(bào)錯(cuò)。
開始
我下面做的操作只是我個(gè)人的,你可以自定義。
創(chuàng)建一個(gè)project文件夾,里面包含app.py文件、logs文件夾和templates文件夾
可以忽略logs文件夾下的flask-ip.log.*的日志,也可以忽略start.sh的文件
在project文件夾下,創(chuàng)建一個(gè)app.py
from flask import Flask,request from flask import render_template import logging from logging.handlers import TimedRotatingFileHandler app= Flask(__name__) app.logger.setLevel(logging.INFO) # 日志存放,backupCount填寫天數(shù),我這邊寫了10 handler=TimedRotatingFileHandler('logs/flask-ip.log',when='D',interval=1,backupCount=10,encoding='UTF-8',delay=False,utc=True) handler.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) app.logger.addHandler(handler) @app.route('/') def hello_world(): user_ip=request.remote_addr app.logger.info(user_ip) return render_template('index.html',user_ip=user_ip) if __name__=='__main__': # host填寫部署的那臺電腦或服務(wù)器 app.run(host='192.168.1.1',port=8000)
創(chuàng)建logs文件夾和flask-ip.log文件
創(chuàng)建templates文件夾和index.html文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>安全運(yùn)營小組</title> </head> <body> <div class="container"> <div class="header"> <h3 class='text-muted'>你的內(nèi)網(wǎng)IP地址是:<strong>{{user_ip}}</strong></h3> <h3 class='text-muted'>安全組放行規(guī)則需要以此IP做為源IP地址</h3> </div> <br /> <hr /> </div> </body> </html>
創(chuàng)建服務(wù),自啟動(dòng)
cd /etc/systemd/system sudo nano mymain.service
[Unit] Description=My Python Program After=network.target [Service] ExecStart=/usr/bin/python3 /[你的路徑]/project/app.py WorkingDirectory=/[你的路徑]/project #StandardOutput=file:/[你的路徑]/project/output.log #StandardError=file:/[你的路徑]/project/error.log Restart=always User=[電腦名字,比如guest] [Install] WantedBy=default.target
最后輸入命令啟動(dòng)
sudo systemctl start mymain.service sudo systemctl enable mymain.service
到此這篇關(guān)于基于Python制作IP查詢網(wǎng)站的文章就介紹到這了,更多相關(guān)Python IP查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+pandas計(jì)算數(shù)據(jù)相關(guān)系數(shù)的實(shí)例
今天小編就為大家分享一篇Python+pandas計(jì)算數(shù)據(jù)相關(guān)系數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07端午節(jié)將至,用Python爬取粽子數(shù)據(jù)并可視化,看看網(wǎng)友喜歡哪種粽子吧!
端午節(jié)快要到了,旅游?回家?拜訪親友?少不了要帶上粽子.那么:選擇什么牌子的粽子呢?選擇什么口味的粽子呢?選擇什么價(jià)格區(qū)間呢?今天爬取了京東上面的 “粽子數(shù)據(jù)” 進(jìn)行分析,看看有啥發(fā)現(xiàn)吧!,需要的朋友可以參考下2021-06-06Pandas時(shí)間序列:重采樣及頻率轉(zhuǎn)換方式
今天小編就為大家分享一篇Pandas時(shí)間序列:重采樣及頻率轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12如何在django里上傳csv文件并進(jìn)行入庫處理的方法
這篇文章主要介紹了如何在django里上傳csv文件并進(jìn)行入庫處理的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01