摘:http://cicikasa.blog.163.com/blog/static/137575355201021992145582/

/etc/hosts中必然有一行为127.0.0.1,作用是什么呢?

特点:

(1)127.0.0.1不光是unix系统,linux也好,windows也好,都会有这个循回地址的。
(2)在IP地址的规定中,第一部分是1~126为A类地址,128~191为B类地址,那么中间留的127.0.0.1被称为本地回环地址,主要作用有两个:一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序要在同一台机器上运行而没有别的SERVER时就可以把SERVER的资源装在本机,SERVER的IP地址设为127.0.0.1也同样可以运行。

(3)这个地址也是给本机loop back接口所预留的IP地址,它是为了让上层应用联系本机用的,如果没有这个loop back接口通常上层应用无法与自己联系,因为它仍然会把数据往IP层发送,数据到了IP层如果发现目的地是自己,则回被回环驱动程序送回。因此通过这个地址也可以测试TCP/IP的安装是否成功,就是驱动,网卡 都是否正常,但无法测试出具体TCP/IP的配置是否正确,也无法测试出网卡是否正常,因为数据在离开IP层之前就已经被送回去了。

======================================

127.0.0.1常用来在本机测试各种网络服务,下面列举一些事例:
1、测试sshd服务是否正常。在控制台上运行命令 ssh 127.0.0.1如果出现要求输入密码则表明sshd服务正常。
2、测试ftp服务。在控制台运行命令 ftp 127.0.0.1 ,某个控制台的输出入下:
-bash-3.00# ftp 127.0.0.1
ftp: connect: Connection refused
ftp>

这个输出表明ftpd服务不正常,正常提供网络服务的ftp输出应该是这样的:
-bash-3.00# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
Name (127.0.0.1:root):

3、测试邮件服务。控制台执行命令 telnet 127.0.0.1 25 和 telnet 127.0.0.1 110即可判断邮件服务器的运行状态。
4、查看系统都开放了那些端口。Nmap工具是个非常好的选择,输出结果远比netstat 直观。
[root@netmonitor ~]# nmap 127.0.0.1

Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2007-05-15 18:05 CST
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1656 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp openftp
22/tcp openssh
25/tcp opensmtp
80/tcp openhttp

Nmap run completed -- 1 IP address (1 host up) scanned in 0.224 seconds


本地应用程序连接
象apache+php+mysql这样的应用环境,应用程序与mysql数据库同时存在于同一个系统上面,常用环回地址127.0.0.1做套接字的ip地址。

在这里可能有人会质疑:不用环回地址可不可以?答案是肯定的,用主机某个网络接口的ip就可以代替这个环回地址。那这里为什么还要强调这个环回地址呢?主要的原因是方便和稳定。网络接口的地址可能因为某种原因被更改(如服务器搬迁到别的地理位置),或者应用被迁移到另外的系统,象前面描述的apache+php+mysql 环境,由于使用了环回地址127.0.0.1,就不会受ip地址改变的影响,反之亦然。有的网络服务,对它自身所监听的网络接口---如把apache的监听设置成 “Listen 192.168.27.201:80”—依赖性比较高,一旦网络接口中断(down),服务本身也可能停止,如果采用默认的监听地址127.0.0.1就不会发生这种情况。

更多相关文章

  1. CentOS 7下配置IP地址
  2. 如果后台的SVN服务器IP地址更改了,如何修改客户端的连接url呢?
  3. Linux基础之无线网卡配置连接测试相关操作
  4. 如何发送一个字节(或字节)来测试在我的应用程序中监听的套接字?
  5. 自己实现的C++智能指针的功能代码和测试用例
  6. Linux部署测试环境总结
  7. Linux 修改ip地址
  8. linux配置虚拟IP地址方法
  9. 使用.NetCore在Linux上写TCP listen 重启后无法绑定地址

随机推荐

  1. centos 7 修改主机名
  2. centos临时ip和永久ip的配置
  3. Android的HTTP基础与之使用HttpClient和H
  4. Python+Dash快速web应用开发——基础概念
  5. 地图可视化神器kepler.gl近期重要更新
  6. Android(安卓)样式之shape入门使用
  7. 12个令人惊奇的CSS实验项目 [每日前端夜
  8. 使用Python验证常见的50个正则表达式
  9. 计算机专业学习的一些思考和总结
  10. 这个库堪称Python编程的瑞士军刀!