服务器绑定 127.0.0.1 和 0.0.0.0 的区别
前言
IP 地址实际上并不是分配给计算机的,而是分配给网卡的,因此当计算机上存在多块网卡时,每一块网卡都会有自己的 IP 地址。
绑定 127.0.0.1 是绑定到 lookback 这个虚拟的本地回环接口,该接口只处理本机上的数据,如果服务器绑定 127.0.0.1 外部是无法访问的。
绑定 0.0.0.0 是绑定到所有可用的网络接口,也就是说,此时可以接受来自任何网络接口的连接请求,外部是可以正常访问的。
在 ubuntu 系统可以用 ifconfig 命令查看网络接口信息,Win 系统用 ipconfig 命令查看。
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 172.30.36.166 netmask 255.255.240.0 broadcast 172.30.47.255lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0
下面用代码来演示两种情况的区别。
绑定 127.0.0.1
以下代码由 通义千问 2.5 生成:
func handleConnection(conn net.Conn) {defer conn.Close()scanner := bufio.NewScanner(conn)for scanner.Scan() {text := scanner.Text()fmt.Println("Received:", text)_, err := conn.Write([]byte(text + "\n"))if err != nil {fmt.Println("Error writing to socket:", err)break}}if err := scanner.Err(); err != nil {fmt.Println("Error reading from socket:", err)}
}func main() {port := "8080"listener, err := net.Listen("tcp", "127.0.0.1:"+port)if err != nil {fmt.Println("Error listening:", err.Error())os.Exit(1)}defer listener.Close()fmt.Println("Listening on:" + port)for {conn, err := listener.Accept()if err != nil {fmt.Println("Error accepting:", err.Error())continue}go handleConnection(conn)}
}
运行这段代码:
$ go run echo.go
Listening on:8080
先在本机使用 telnet 测试能否访问:
$ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hello
hello
此时一切正常,服务器可以正常响应。
再换另一台计算机测试:
$ telnet 47.100.200.202 8080
Trying 47.100.200.202...
telnet: Unable to connect to remote host: Connection refused
直接报错,不能访问。
这里访问的 47.100.200.202 是服务器的公网 IP,上面的 172.30.36.166 是内网 IP。
绑定 0.0.0.0
将 127.0.0.1 修改为 0.0.0.0 后重新运行。
listener, err := net.Listen("tcp", "0.0.0.0:"+port)
还是先在本机测试:
$ telnet 127.0.0.1 8080
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hi
hi
还是可以正常访问,没有问题。
再换到另一台计算机测试:
$ telnet 47.100.200.202 8080
Trying 47.100.200.202...
Connected to 47.100.200.202.
Escape character is '^]'.
hello hi
hello hi
这时就可以正常访问了。
参考资料
- 《网络是怎样连接的》
- 断网了,还能 ping 通 127.0.0.1 吗?
相关文章:
服务器绑定 127.0.0.1 和 0.0.0.0 的区别
前言 IP 地址实际上并不是分配给计算机的,而是分配给网卡的,因此当计算机上存在多块网卡时,每一块网卡都会有自己的 IP 地址。 绑定 127.0.0.1 是绑定到 lookback 这个虚拟的本地回环接口,该接口只处理本机上的数据,…...
DeepSeek提示词手册
一、核心原则:基于DeepSeek的推理特性 自然语言优先undefinedDeepSeek擅长理解自然表达,无需复杂模板。例如: ❌旧模板:"你是专业分析师,需分三步回答,第一步…" ✅高效提问:"…...
校园网规划方案
个人博客站—运维鹿: http://www.kervin24.top CSDN博客—做个超努力的小奚: https://blog.csdn.net/qq_52914969?typeblog 本课程设计参考学习计算机网络 思科Cisco Packet Tracer仿真实验_哔哩哔哩_bilibili, 文章和pkg详见个人博客站: http://www.kervin24.to…...
python怎么求 一个数是否包含3
python求一个数包含3的方法: 1、使用“for i in 列表名”循环遍历列表中的每一个元素并将每个元素用str()函数转换成字符串格式 2、用“if str(3) in i”判断该元素中是否含有3 完整代码如下: 执行结果如下:...
ARM RFEIA指令作用
FreeRTOS第一个任务如何run起来的 在给ARM cortex R5适配FreeRTOS的过程中,在执行第一个task时,都是使用vTaskStartScheduler()函数,把第一个task运行起来的,其中比较关键在port.c实现的xPortStartScheduler()函数中,…...
【Kubernetes】常用命令全解析:从入门到实战(上)
🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、Kubernetes简介 2、安装Kubernetes …...
项目实战(11)-双通道气体压力计V1.0
一. 产品简介: 1、项目背景是在实际应用中需要监控通道内气体的压力,压力计分为两个通道;通道一时实时监控;通道二是保压,设定保压值得上下限后通道内得气体压力值会一直保持在这个范围内。 二. 应用场景:…...
Node.js怎么调用到打包的python文件呢
在 Node.js 中调用打包后的 Python 可执行文件(如 PyInstaller 生成的 .exe 或二进制文件),可以通过以下步骤实现: 一、Python 打包准备 假设已有打包好的 Python 文件 your_script.exe(以 Windows 为例)&…...
Transformer 详解:了解 GPT、BERT 和 T5 背后的模型
目录 什么是 Transformer? Transformer如何工作? Transformer 为何有用? 常见问题解答:机器学习中的 Transformer 在技术领域,突破通常来自于修复损坏的东西。制造第一架飞机的人研究过鸟类。莱特兄弟观察了秃鹫如何在气流中保持平衡,意识到稳定性比动力更重要。…...
利用二分法进行 SQL 盲注
什么是sql注入? SQL 注入(SQL Injection)是一种常见的 Web 安全漏洞,攻击者可以通过构造恶意 SQL 语句来访问数据库中的敏感信息。在某些情况下,服务器不会直接返回查询结果,而是通过布尔值(Tr…...
如何通过 bugreport 分析 Android 系统日志?
📢 1. 职业规划篇 来聊聊安卓职业规划?整机开发大专能做么? 📢 2.基础篇 基础篇.前言 基础篇.编译环境搭建 基础篇.源码目录简介 基础篇.系统 mk_bp 讲解 基础篇.开机动画定制 基础篇.定制桌面壁纸、导航方式 基础篇.系统属性、ap…...
安防机器人电源解决方案
安防机器人电源方案简介 随着安防机器人领域技术的不断进步,越来越多的新型传感器,特别是激光雷达(光探测与测距)的广泛应用,以及先进的板载AI处理器的加入,使得机器人能够更加安全、智能地与人类进行互动。然而,这也对机器人的电源系统提出了更高的要求。某安防机器人…...
内网穿透的应用-Ubuntu本地Docker搭建pichome文件管理系统打造个人云相册
文章目录 前言1.关于pichome2.本地部署pichome3.简单使用pichome4. 安装内网穿透5.配置pichome公网地址6. 配置固定公网地址 前言 你是不是也经常遇到这样的尴尬:手机、电脑里堆满了照片和视频,想找一张特定的图片时却像在大海捞针一样无从下手…...
力扣-栈与队列-1047 删除字符串中的所有相邻重复项
思路 利用栈更新紧邻的元素,和要插入的元素作比较 代码 class Solution { public:string removeDuplicates(string s) {if(s.size() < 2) return s;stack<char> st;st.push(s[0]);for(int i 1; i < s.size(); i){if(!st.empty() && s[i] s…...
旅客服务系统(PSS, Passenger Service System)
1. 系统概述 1.1 系统目标 旅客服务系统(PSS)旨在为旅客提供一站式航空服务,涵盖航班信息查询、机票预订、值机办理、行李托运、订单管理、支付集成等功能。系统通过模块化设计和分布式架构,确保高可用性、高性能、可扩展性和安全性,满足航空公司和旅客的多样化需求。 …...
Linux路径中的‘~‘
本文来自DeepSeek 在Linux中,~ 是用户主目录的简写。具体含义如下: 当前用户的主目录: ~ 代表当前登录用户的主目录。例如,用户 alice 的主目录通常是 /home/alice,~ 就指向 /home/alice。 其他用户的主目录ÿ…...
认识网络安全
一 网络攻击链 踩点-工具准备-载荷投递-漏洞利用-释放载荷-建立通道-目标达成 简化下: 目标侦察:准确识别目标,收集目标详细信息,比如 网络、 邮箱、员工、社会关系、对外提供服务、漏洞 信息等,为 后续攻击做准备。…...
信息科技伦理与道德3-3:智能决策
2.3 智能控制 智能控制算法介绍 智能控制算法的优化:性能提升的秘诀 https://blog.csdn.net/universsky2015/article/details/137309308 案例一:特斯拉自动驾驶汽车未能识别白色卡车导致车祸...
以 Python 为工具搭建的热门旅游景点数据分析系统
系统介绍: 随着计算机技术的飞速发展,计算机系统的应用已广泛渗透到社会的各个领域。大数据的大量应用为人们的生活带来了极大的便利。在此背景下,将热门旅游景点数据分析管理与互联网相结合,利用计算机搭建热门旅游景点数据分析…...
ZooKeeper 技术全解:概念、功能、文件系统与主从同步
引言 随着分布式系统变得越来越复杂,对协调服务的需求也在不断增长。ZooKeeper 作为一个由 Apache 维护的开源分布式协调服务框架,广泛用于 Hadoop 生态系统和其他需要协调的分布式环境中。这一系统旨在解决分布式应用中常见的挑战,如配置管…...
霍尔电流传感器原理与应用全解析
霍尔电流传感器测量原理深度解析 1. 霍尔效应电流测量基础 1.1 霍尔效应原理 霍尔效应是电流测量的基础物理现象,当导体或半导体薄片置于磁场中,并在其两端施加控制电流时,垂直于电流和磁场方向的两侧会产生电势差,这种现象称为…...
Rufus高效启动盘制作实战攻略:30分钟从入门到精通
Rufus高效启动盘制作实战攻略:30分钟从入门到精通 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 系统重装难题如何高效解决? 当你的电脑遭遇系统崩溃、病毒入侵或需要全…...
STM32duino ILPS22QS气压传感器驱动深度解析
1. 项目概述STM32duino ILPS22QS 是一个面向 STM32 平台的 Arduino 兼容库,专为意法半导体(STMicroelectronics)推出的超低功耗数字气压传感器 ILPS22QS 设计。该库并非通用传感器抽象层,而是深度适配 STM32 硬件生态的底层驱动实…...
Java大文件分片上传完整实现教程
解决网络不稳定、服务器内存压力和用户体验差等问题是大文件分片上传的必要性。1. 分片上传允许在网络中断后只重传失败分片,提高成功率;2. 减少服务器单次处理的数据量,减少内存和i/o压力;3. 支持断点续传和秒传功能,…...
【Unity3D】从零打造动态天空盒:Cubemap生成与实时环境映射实战
1. 动态天空盒的核心原理与场景价值 第一次在Unity里看到动态天空盒效果时,我盯着屏幕愣了三秒——云层在头顶流动,夕阳的光影实时投射在建筑表面,整个场景瞬间有了生命力。这种魔法般的体验,其实都建立在立方体贴图(C…...
FPGA新手别怕!Vivado 2023.1里用DDS IP核生成1MHz正弦波,保姆级图文配置+仿真
FPGA实战:从零开始用Vivado配置DDS IP核生成精准波形 第一次打开Vivado的IP Catalog界面时,满屏的参数选项确实容易让人望而生畏。但别担心,DDS(直接数字频率合成)IP核其实比你想象的要友好得多。作为FPGA数字信号处理…...
浪潮 NF5270M4 装 ESXi 8.0 识别不到 RAID1?这样设置一次搞定
最近很多机友遇到了核心问题:RAID1 已创建,但 ESXi 8.0U3i 只看到两块独立 SATA 盘,没识别出 RAID 逻辑盘。这是浪潮 NF5270M4 ESXi 8.0 的典型兼容性 / 驱动 / 配置问题,按下面步骤排查即可解决。一、先确认核心前提(必做)1、你…...
保姆级教程:在Windows上用Cherry Studio和Grafana MCP服务打通本地监控数据(STDIO模式详解)
保姆级教程:在Windows上用Cherry Studio和Grafana MCP服务打通本地监控数据(STDIO模式详解) 你是否曾在调试大模型时,需要反复切换窗口查看服务器监控数据?或是苦恼于无法将Grafana的实时监控直接整合到AI对话流程中&a…...
Qwen3-ASR-1.7B问题解决:服务重启、音频格式兼容全攻略
Qwen3-ASR-1.7B问题解决:服务重启、音频格式兼容全攻略 1. 引言:语音识别服务的稳定性挑战 语音识别技术正在改变我们处理音频内容的方式,但在实际部署中,服务稳定性和格式兼容性常常成为绊脚石。Qwen3-ASR-1.7B作为阿里云通义千…...
从演唱会踩踏到交通拥堵:我们如何用无人机双光人群计数,为城市装上‘智慧之眼’?
无人机双光人群计数:城市安全管理的智能升级之路 当夜幕降临,体育场外数万观众正陆续离场,安保指挥中心的大屏上闪烁着红黄相间的热力图——这不是科幻电影的场景,而是某省会城市在明星演唱会后的真实一幕。通过部署在关键节点的1…...
