1.端口是什么?
1.1 是英文port的意译,可认为是设备与外界通讯交流的出口。
1.2 端口可分为虚拟端口和物理端口。
1.2.1 虚拟端口:指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。
1.2.2 物理端口:又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。

2.我们常说的端口:
2.1 指的是:特指TCP/IP协议中的端口,是逻辑意义上的端口。
2.2 协议端口(protocol port,即我们常说的端口)。
2.3 端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
2.4 如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口 可以有65536(即:2^16)个之多!

3.端口在入侵中的作用(黑客常用的)
3.1 有人曾经把服务器比作房子,而把端口比作通向不同房间(服务)的门,如果不考虑细节的话,这是一个不错的比喻。
3.2 入侵者要占领这间房子,势必要破门而入(物理入侵另说),
3.3 那么对于入侵者来说,了解房子开了几扇门,都是什么样的门,门后面有什么东西就显得至关重要。
3.4 普通人估计不需要了解这么多。

4.按端口号可分为3大类
4.1 公认端口(WellKnownPorts):
4.1.1 从0到1023,它们紧密绑定(binding)于一些服务。
4.1.2 通常这些端口的通讯明确表明了某种服务的协议。
4.1.3 例如:80端口实际上总是HTTP通讯。

4.2 注册端口(RegisteredPorts):
4.2.1 从1024到49151。
4.2.2 它们松散地绑定于一些服务。
4.2.3 也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。
4.2.4 例如:许多系统处理动态端口从1024左右开始。

4.3 动态和/或私有端口(Dynamicand/orPrivatePorts):
4.3.1 从49152到65535。
4.3.2 理论上,不应为服务分配这些端口。
4.3.3 实际上,机器通常从1024起分配动态端口。
4.3.4 但也有例外:SUN的RPC端口从32768开始。

5.系统管理员可以"重定向"端口
5.1 一种常见的技术是把一个端口重定向到另一个地址。
5.2 例如默认的HTTP端口是80,可以将它重定向到另一个端口,如8080。即可以实现重定向是为了隐藏公认的默认端口,降低受破坏率。
5.3 大多数端口重定向与原端口有相似之处:
5.3.1 例如多数HTTP端口由80变化而来:81,88,8000,8080,8888。
5.3.2 POP的端口原来在110,也常被重定向到1100。

5.4 原因一:避免木马病毒攻击:
远程控制木马(RemoteAccessTrojans,RATs)采用相同的默认端口。如NetBus的默认端口是12345。
5.5 原因二:root权限有关:
在UNIX系统上,如果你想侦听1024以下的端口需要有root权限。
如果你没有root权限而又想开web服务,你就需要将其安装在较高的端口。
5.6 原因三:ISP防火墙有关:
一些ISP的防火墙将阻挡低端口的通讯,这样的话即使你拥有整个机器你还是得重定向端口。

6.查看端口情况:
6.1 在终端输入:netstat -an
这并不是一个工具,但他是查看自己所开放端口的最方便方法。

6.2 在终端输入:netstat -talnp
查看系统已经打开的端口。

6.3 在终端输入:netstat -tanp
去显示端口状态。

7.Linux 如何开放端口和关闭端口。
以8080端口为例
7.1 查看是否打开8080端口,没反应就是没打开。
netstat -an | grep 8080

7.2 在root下输入,即可以查看80的所有已打开的窗口,比如8082是360浏览器打开的端口
netstat -ntulp |grep 80

最新文章

  1. Tomcat:利用Apache配置反向代理、负载均衡
  2. 利用 canvas 破解 某拖动验证码
  3. PHPCMS 多站点管理切换问题
  4. asp.net与asp.net 优缺点
  5. 回车和换行在linux下和windows下
  6. appStore上传苹果应用程序软件发布流程(之前都是同事发,复制一份备用)
  7. Android安全问题 抢先开机启动
  8. Gradle sync failed: failed to find Build Tools revision 21.1.2
  9. ArcGIS API for JavaScript 4.2学习笔记[5] 官方API大章节概述与内容转译
  10. maven-编译速度优化
  11. Scala 运算符和集合转换操作示例
  12. Centos6离线安装MySQL5.5.55-1(附带安装包及Perl依赖包)
  13. C博客作业01——分支、顺序结构
  14. postman简介及基本用法
  15. 保存页面数据的场所----Hidden、ViewState、ControlState
  16. guid与Base64编码互相转换
  17. zuul熔断代码
  18. 动态SQL详解
  19. 程序从sqlserver2008搬家到MySQL5.6
  20. KVM 虚拟化技术

热门文章

  1. openresty + lua
  2. 修正_typora文档复制到博客图片失效
  3. 不间断会话服务:screen
  4. 每天进步一点点------创建Microblaze软核(二)
  5. C#应用程序部署到集群若干问题
  6. 用python实现网络文件共享
  7. Django框架-路由层
  8. glog与gflags的windows编译
  9. TCP和UDP的一些注意事项
  10. 每天进步一点点------基础实验_12_有限状态机 :Moore型序列检测器