python以其简洁特点赢得了广大开发者的喜爱,下面我们通过python来搭建一些临时服务器。临时服务器的使用场景非常多:
(1)临时下载服务器,用于同一子网下两个不同设备之间进行数据同步,无需第三方工具(比如U盘)的插入。
(2)构建监听端口,用于程序调试。这在进行网络连通性测试中非常有用,比如IPV6网络。
1.搭建服务器方法
ipv4网络下比较简单,一条命令即可。ipv6网络下需要进行简单的脚本编写。
1.1.ipv4服务器
搭建一个监听端口为112233的服务器。命令如下:
python3 -m http.server 112233
例如
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# python3 -m http.server 112233
Serving HTTP on 0.0.0.0 port 112233 (http://0.0.0.0:112233/) ...
127.0.0.1 - - [15/May/2024 16:55:27] "GET / HTTP/1.1" 200 -
监听端口信息如下:
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# netstat -ntlp | grep 112233
tcp 0 0 0.0.0.0:112233 0.0.0.0:* LISTEN 3029449/python3
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]#
我们可以把需要下载的文件放到命令执行的当前目录下,就可以对这个文件夹下的文件进行下载了。
1.2.ipv6服务器
ipv6环境下,需要编写简单的脚本test.py
import http.server
import socketserver
import socket
class HTTPServerV6(http.server.HTTPServer):
address_family = socket.AF_INET6
Handler = http.server.SimpleHTTPRequestHandler
server = HTTPServerV6(('::', 112233), Handler)
server.serve_forever()
然后运行脚本,如下所示:
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# python3 test.py
2002:4c01:4c01:140b:4c01:4c01:4c01:e50 - - [15/May/2024 16:54:05] code 400, message Bad request syntax ('^]')
2002:4c01:4c01:140b:4c01:4c01:4c01:e50 - - [15/May/2024 16:54:05] "^]" 400 -
下面,就可以看到监听端口了
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]# netstat -ntlp | grep 112233
tcp6 0 0 :::112233 :::* LISTEN 3027493/python3
[root@nieo-2002-4c01-4c01-140b-4c01-4c01-4c01-e50 abctest]#