怎样查本机服务器地址在哪里,如何查询本机服务器地址,从基础操作到高级排查的完整指南
- 综合资讯
- 2025-04-17 19:19:00
- 3

查询本机服务器地址可通过基础命令行操作与高级排查方法实现,基础步骤:1. Windows用户运行ipconfig查看本地IP,nslookup localhost获取主...
查询本机服务器地址可通过基础命令行操作与高级排查方法实现,基础步骤:1. Windows用户运行ipconfig
查看本地IP,nslookup localhost
获取主机名;2. Linux/macOS执行ifconfig
或ip a
查看网络接口,hostname -s
获取主机名,高级排查需结合服务端口检查:使用netstat -tuln
(Windows)或lsof -i -n -P
(Linux)查看监听端口,确认SSHD(22)、Nginx(80/443)等服务的实际地址,若服务未响应,检查防火墙设置(Windows防火墙高级设置,Linuxufw
/iptables
)及服务状态(systemctl status sshd
),特殊需求下可通过telnet 127.0.0.1 端口号
或nc -zv 本地IP 端口号
进行端口连通性测试,最终通过echo $HOSTNAME
(Linux)或hostname
(Windows)验证主机名与IP的绑定关系。
服务器地址查询基础概念
1 本机服务器地址的定义
本机服务器地址指计算机本地运行的服务在互联网或局域网中可被访问的标识信息,包含两个核心要素:
- IP地址:32位或128位二进制数转换为点分十进制(如192.168.1.100)或十六进制(如2001:0db8:85a3::8a2e:0370:7334)
- 端口号:16位数值(1-65535),用于区分同一IP上的不同服务(如HTTP默认80,HTTPS443)
2 常见服务类型与端口对照表
服务类型 | 常用端口号 | 安全端口 | 应用场景 |
---|---|---|---|
Web服务器 | 80 | 443 | 静态网页访问 |
MySQL | 3306 | 3306/3307 | 数据库服务 |
SSH | 22 | 22 | 远程系统管理 |
DNS | 53 | 53 | 域名解析 |
FTP | 21 | 21/990 | 文件传输 |
3 查询必要性分析
- 本地开发调试:确认Flask/Django等框架服务的监听地址
- 安全审计:检测异常端口占用(如发现50000端口无服务运行)
- 网络配置:设置Nginx反向代理时需绑定特定IP和端口
- 故障排查:解决"服务无法访问"问题时验证基础信息
Windows系统查询方法详解
1 命令行工具(推荐)
1.1 ipconfig
命令
ipconfig /all
输出关键信息:
- IPv4地址:如Ethernet adapter 网络连接下的IPv4地址
- IPv6地址:IPv6连接的完整地址
- 默认网关:路由器地址(如192.168.1.1)
1.2 netstat
命令
netstat -ano | findstr :[0-9]
输出格式解析:
图片来源于网络,如有侵权联系删除
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
:监听80端口UDP 192.168.1.100:53 *:* 4 0
:DNS服务PID
列显示进程ID,可通过tasklist /PID <PID>
查看对应程序
1.3 ss
命令(Windows 10+)
ss -tulpn
输出说明:
TCP LISTEN
:监听连接UDP LISTEN
:监听UDPESTABLISHED
:已建立连接LISTENING
:监听状态
1.4 lsof
命令
lsof -i -n -P | findstr "LISTEN"
特点:
- 显示服务名称(如httpd、Apache)
- 检测异常占用端口(如发现3000端口被非开发进程占用)
2 图形界面工具
2.1 任务管理器(Process Explorer增强版)
- 打开"详细信息"视图,筛选"TCP"列
- 右键端口查看"属性"中的"连接"信息
2.2 Windows服务管理器
- 搜索"服务"
- 右键已安装服务查看"属性"中的"端口"设置(如IIS服务的8080端口)
2.3 PowerShell脚本
Get-NetTCPConnection | Where-Object { $_.State -eq 'LISTENING' } Get-NetUDPConnection | Where-Object { $_.State -eq 'LISTENING' }
输出结果包含:
RemotePort
State
ProcessName
3 第三方工具推荐
工具名称 | 特点 | 适用场景 |
---|---|---|
Wireshark | 网络协议分析 | 深度诊断连接问题 |
Process Hacker | 进程监控+端口管理 | 杀毒软件冲突排查 |
nmap | 端口扫描工具 | 服务状态快速检测 |
Linux系统查询方法
1 常用命令集
1.1 netstat
命令
netstat -tuln
输出说明:
TCP 0.0.0.0:80 0.0.0.0:* LISTEN 1 1 httpd
UDP 0.0.0.0:53 0.0.0.0:* LISTEN 1 0 bind9
1.2 ss
命令
ss -tulpn
输出示例:
tcp 听 0 0 0.0.0.0:80 0.0.0.0:* users:(("httpd","httpd") , 1)
1.3 lsof
命令
lsof -i -n -P | grep LISTEN
显示:
httpd 1234 root 6u IPv4 12345 TCP *:80 (LISTEN) (Process 1234, cmd: httpd)
2 服务配置文件检查
2.1 Apache配置
Listen 80 Listen [::]:80 ServerName example.com
查看路径:/etc/apache2/sites-available/
2.2 Nginx配置
server { listen 80; server_name localhost; location / { root /var/www/html; index index.html index.htm; } }
检查路径:/etc/nginx/sites-available/
3 系统日志分析
journalctl -u httpd -f
关键日志信息:
Starting httpd
listening on http://*:80
macOS系统查询方法
1 命令行工具
1.1 netstat
命令
netstat -tuln
输出示例:
TCP 0.0.0.0:80 0.0.0.0:* LISTEN 0 0 httpd
UDP 0.0.0.0:53 0.0.0.0:* LISTEN 0 0 dns
1.2 nc
命令测试端口
nc -zv 127.0.0.1 80
输出:
Connection to 127.0.0.1 80 port [tcp/*] succeeded!
Connection to 127.0.0.1 443 port [tcp/*] failed: Connection refused
2 图形界面工具
2.1 系统报告(System Report)
- 点击"网络"标签
- 查看"TCP/IP连接"中的"端口"列
2.2 Activity Monitor
- 选择"Memory"视图
- 筛选"TCP"或"UDP"连接
3 系统服务检查
systemctl list-unit-files | grep -i service
查看服务状态:
httpd.service active (exited)
nginx.service active (exited)
高级排查技巧
1 防火墙规则检查
1.1 Windows Defender 防火墙
wf.msc
查看"高级设置"中的入站规则:
图片来源于网络,如有侵权联系删除
允许连接到TCP端口80
1.2 Linux iptables
sudo iptables -L -n -v
检查规则:
-A INPUT -p tcp --dport 80 -j ACCEPT
2 杀毒软件冲突排查
- 临时禁用杀毒软件(如360安全卫士)
- 重新测试端口连通性
- 检查厂商文档中的端口白名单设置
3 权限问题处理
3.1 Apache权限错误
sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html
3.2 Node.js进程权限
sudo usermod -aG www-data $USER sudo su - $USER cd /home/$USER npm install -g pm2
4 虚拟机/容器环境特殊处理
4.1 Docker容器端口映射
docker run -p 8080:80 -d nginx
查看映射关系:
docker inspect <container_id> --format='{{.NetworkSettings.Ports}}'
4.2 VMware NAT设置
- 打开虚拟机网络设置
- 选择"使用NAT"
- 检查端口转发规则:
源端口 80 → 目标端口 80
典型故障场景解决方案
1 端口被占用无法启动服务
1.1 查找占用进程
netstat -ano | findstr :80
输出示例:
TCP 0.0.0.0:80 0.0.0.0:* LISTEN 1234 0 12345
1.2 终止进程
taskkill /PID 12345 /F
2 防火墙阻止访问
2.1 Windows防火墙配置
- 打开"Windows Defender 防火墙"
- 选择"允许应用或功能通过防火墙"
- 勾选"此应用可通过公共网络使用"(HTTP服务)
2.2 Linux防火墙配置
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --reload
3 DNS解析失败
3.1 检查本地DNS缓存
sudo systemd-resolve --flush-caches
3.2 手动设置DNS
sudo sed -i 's/127.0.0.1/8.8.8.8/g' /etc/resolv.conf
安全加固建议
1 最小化端口开放
- 仅开放必要端口(如Web服务80/443)
- 使用非标准端口时配置反向代理(如Nginx 8080→80)
2 定期端口扫描
nmap -sV 127.0.0.1
输出结果分析:
PORT STATE SERVICE VERSION
- 检测到异常开放端口及时关闭
3 使用非特权用户运行服务
sudo usermod -s /bin/false httpd
4 启用SSL加密
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d example.com
常见问题Q&A
1 问题1:如何测试80端口是否开放?
解决方案:
telnet 127.0.0.1 80
成功输出:
Connected to 127.0.0.1.
Escape character is '^].
2 问题2:服务启动后端口无响应?
排查步骤:
- 检查防火墙规则
- 使用
netstat -ano
查看进程ID - 检查服务配置文件路径
- 确认系统防火墙状态(
ufw status
)
3 问题3:IPv6地址显示为::1?
处理方法:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
或修改网络配置文件:
echo "IPV6_AUTOCONF=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
扩展学习资源
- 官方文档:
- [Microsoft TechNet](https://learn.microsoft.com/en-us/windows command-line)
- Linux man pages
- 实践平台:
- TryHackMe(网络安全实验)
- Hack The Box(CTF挑战)
- 工具下载:
- Wireshark:https://www.wireshark.org/
- nmap:https://nmap.org/
通过系统掌握不同操作系统的查询方法(Windows的netstat
/ss
、Linux的ss
/lsof
、macOS的netstat
/nc
),结合防火墙配置、进程管理、权限控制等高级技巧,可以全面掌握本机服务器地址的查询与维护,建议定期进行端口扫描和漏洞检测,结合自动化工具(如Ansible、Jenkins)实现服务监控,最终构建安全可靠的服务器环境。
(全文共计1582字)
本文由智淘云于2025-04-17发表在智淘云,如有疑问,请联系我们。
本文链接:https://www.zhitaoyun.cn/2135149.html
本文链接:https://www.zhitaoyun.cn/2135149.html
发表评论