当前位置: 代码网 > it编程>前端脚本>Python > 基于Python制作IP查询网站

基于Python制作IP查询网站

2024年10月30日 Python 我要评论
前言运维时发现一个问题,局域网内有成百上千台电脑,防火墙策略根据ip调整和更新,有的人不会查自己的ip地址,有没有什么工具能帮助我让不懂电脑的人一点就知道自己的ip。于是我想到了用python快速做一

前言

运维时发现一个问题,局域网内有成百上千台电脑,防火墙策略根据ip调整和更新,有的人不会查自己的ip地址,有没有什么工具能帮助我让不懂电脑的人一点就知道自己的ip。
于是我想到了用python快速做一个简易查内网ip网站,用他们的电脑一访问网站就知道自己的ip地址。

效果展示

前期准备

服务器:ubuntu 22.04

python 3

还需要pip下载flask、request、logging、timedrotatingfilehandler,不然运行会报错。

开始

我下面做的操作只是我个人的,你可以自定义。

创建一个project文件夹,里面包含app.py文件、logs文件夹和templates文件夹

可以忽略logs文件夹下的flask-ip.log.*的日志,也可以忽略start.sh的文件

在project文件夹下,创建一个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填写天数,我这边写了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填写部署的那台电脑或服务器
    app.run(host='192.168.1.1',port=8000)

创建logs文件夹和flask-ip.log文件

创建templates文件夹和index.html文件

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>安全运营小组</title>
</head>
<body>
  <div class="container">
    <div class="header">
      <h3 class='text-muted'>你的内网ip地址是:<strong>{{user_ip}}</strong></h3>
      <h3 class='text-muted'>安全组放行规则需要以此ip做为源ip地址</h3>
    </div>
    <br />
    <hr />
  </div>
</body>
</html>

创建服务,自启动

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

最后输入命令启动

sudo systemctl start mymain.service

sudo systemctl enable mymain.service

到此这篇关于基于python制作ip查询网站的文章就介绍到这了,更多相关python ip查询内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com