linux的端口学习(一)
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
linux的端口学习(一)的更多相关文章
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- ARM Linux驱动篇 学习温度传感器ds18b20的驱动编写过程
ARM Linux驱动篇 学习温度传感器ds18b20的驱动编写过程 原文地址:http://www.cnblogs.com/NickQ/p/9026545.html 一.开发板与ds18b20的入门 ...
- Linux防火墙iptables学习
http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- Linux 系统编程 学习:01-进程的有关概念 与 创建、回收
Linux 系统编程 学习:01-进程的有关概念 与 创建.回收 背景 上一讲介绍了有关系统编程的概念.这一讲,我们针对 进程 开展学习. 概念 进程的身份证(PID) 每一个进程都有一个唯一的身份证 ...
- Linux 系统编程 学习:06-基于socket的网络编程1:有关概念
Linux 系统编程 学习:006-基于socket的网络编程1:有关概念 背景 上一讲 进程间通信:System V IPC(2)中,我们介绍了System IPC中关于信号量的概念,以及如何使用. ...
- Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信
Linux 系统编程 学习:07-基于socket的网络编程2:基于 UDP 的通信 背景 上一讲我们介绍了网络编程的一些概念.socket的网络编程的有关概念 这一讲我们来看UDP 通信. 知识 U ...
- Linux下iptables学习笔记
Linux下iptables学习笔记 在Centos7版本之后,防火墙应用已经由从前的iptables转变为firewall这款应用了.但是,当今绝大多数的Linux版本(特别是企业中)还是使用的6. ...
- 20135231 —— Linux 基础入门学习
20135231 何佳 学习计时:共12小时 读书:5 代码:2 作业:2 博客:3 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Li ...
随机推荐
- mysql 父子表 注意事项
今天遇到一个问题,父子表关联查询时总是多出几条数据,后来排查是父子关系的字段 类型不一致导致的
- 每天进步一点点------创建Microblaze软核(三)
第七步 进入SDK开发环境编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录.进入SDK主界面.第八步 ...
- django入门(二)MTV开发模式
MTV开发模式,顾名思义,M是models,T是templates,V是view. 之前的教程没有牵扯到html,然后今天将告诉你如何转到自己做的静态页面 首先还是先创建一个app,python ma ...
- 关于Ajax请求的JS封装函数
每次连接ajax都要重复写很多代码,所以写了一个JS封装函数,如下: 再来解释一下其中obj对象的参数形式: obj={ 'type':提交方式, get/post 'url' : 提交地址, ...
- android关闭屏幕时不锁屏实现
所需权限: <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> 关闭系统锁屏服务 ...
- SpringCloud 设置多个运行实例的端口号
使用SpringCloud做集群,开发.测试阶段,经常要运行一个模块的多个实例,要修改端口号. 有3种方式. 方式一:配置文件 server.port=9001 方式二.修改引导类,控制台输入参数值 ...
- IntelliJ IDEA 2017.3尚硅谷-----主题
http://www.riaway.com/
- 第十六篇 nginx主配置文件参数解释
# 指定拥有运行nginx权限的用户 #user nobody; # 指定开启的进程数,建议设置为CPU核心数 worker_processes ; # 指定全局错误日志级别,包括:debug/inf ...
- Java - 判断字符串是否是回文
首先,回文是指类似于“12345”,“abcdcba”的形式,即正念和反念都是一样的字符串 判断字符串是否是回文,这边介绍3种办法 将字符串翻转,判断翻转后的字符串和原字符串是否相等 public s ...
- PHP 代码内执行Linux命令
还是那个问题,就是那个php填写pdf表单,因为副武器的原因,改用命令执行了,哎,一个问题好多知识点啊,先来说说PHP执行linux命令,其实挺简单的,但是呢,后面说说我遇到的问题 1.PHP执行命令 ...