一、端口和服务的关系

端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口。使用netstat命令显示的服务名称也是从这个文件中找的。有人说将这个文件中的相应端口号注释掉,就可以禁用该端口。我试了却不起作用,这种方法应该是没有用的,是误传!将相应端口号注释掉,唯一的作用就是使用netsat命令时,将不显示服务名(比如ftp)而是显示端口号(比如21)。原理也很简单:netstat无法在/etc/services文件中找到端口号对应的服务名,自然就无法显示了。

所以/etc/services文件只是起到端口号与相应服务的映射关系,与端口的启动和关闭没有关系

二、查看本机开放的端口

1、netstat  查看端口和连接

netstat  列出目前已经连接的服务名

netstat -a  列出目前已经连接的和正在监听的服务名

netstat -an  列出目前已经连接的和正在监听的端口号(与上面的命令功能一样,只是不解释端口号对应的服务名)

netstat -ap  在上面命令的基础上列出连接的PID(进程号),用这个PID,可以使用KILL 来杀死连接

例如:某个连接的PID=111,想踢出去就使用 KILL -9 111。ok!

netstat -rn  输出路由表

2、nmap

nmap  127.0.0.1  查看本机开放的端口,会扫描所有端口

nmap  -p 1024  65535? 127.0.0.1  扫描指定端口范围

nmap -PT 192.168.1.1-111? 扫描一组范围的电脑

三、关闭和开启端口(服务)(每个端口都有对应的服务

关闭端口的方法:

1、因为每个端口都有对应的服务,因此要关闭端口只要关闭相应的服务就可以了。

2、用IPTABLE对端口进行限制,这样也能使端口不被访问,但端口本身并没有关闭。

在这儿只介绍关闭服务的方法,IPTABLE的应用以后再讨论。

linux中开机自动启动的服务一般都存放在两个地方:

/etc/init.d/文件夹下的服务:

这个文件夹下的服务都可以通过运行相应的SCRIPT来启动或关闭。

例如:启动sendmail服务  ./sendmail start (打开了TCP 25端口)

关闭sendmail服务  ./sendmail stop (关闭TCP 25 端口)

查看sendmail服务当前状态  ./sendmail? status (查看服务是否运行)

/etc/xinetd.d/文件夹下的服务:

这个文件夹下的服务需要通过更改服务的配置文件,并重新启动xinetd才可以。

例如:要启动其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=no”,保存退出。运行/etc/rc.d/init.d/xinetd restart

要停止其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=yes”,保存退出。运行/etc/rc.d/init.d/xinetd restart

四、控制开机自动启动的服务

上面说的控制服务开关方法是在启动linux之后进行操作的,如果我想在linux启动时控制哪些服务启动、哪些服务关闭怎么做

控制服务自动启动的方法有3个:

1、更改/etc/rc.d下的对应文件夹:

如果你登陆的默认界面是字符界面,那么修改rc.3文件夹,如果登陆界面默认是图形界面,那么修改rc.5。

在文件夹中,每个服务的名字前都带有“K”或“S”,S就代表这个服务开机自动运行了,把它删了或前缀改为“K”下次就不会启动了。

2、使用ntsysv命令:

输入ntsysv命令,将会出现一个服务列表,需要启动的打“*”,简单。

3、使用chkconfig命令:

让某个服务不自动启动:例如httpd:chkconfig --level 35  httpd? off  ;35指的是运行级别

让某个服务自动启动:例如httpd:chkconfig --level 35  httpd? on ;

查看所有服务的启动状态:chkconfig --list

查看某个服务的启动状态:chkconfig --list |grep httpd

端口和服务的操作就到这儿吧。

转载自:源文档 <http://www.jb51.net/LINUXjishu/10954.html>

(转)LINUX的端口和服务的更多相关文章

  1. Linux的端口和服务

    一.端口和服务的关系端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口.使用netstat命令显示的服务名称也是从这个文件中找的.有人说将这个文件中的相应端 ...

  2. Linux 查看端口机服务

    Linux如何查看端口 1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 2.2.netstat -tunlp |grep 端口号,用于查 ...

  3. Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)

    # 安装rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz& ...

  4. linux用netstat查看服务及监听端口

    [root@localhost ~]# netstat -nlp netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接 ...

  5. Linux查看端口使用状态及启动

    LINUX网络性能之管理工具三剑客 本文是介绍管理Linux查看端口这些输出信息,该命令将显示从每个数据包传出的头和来自主机hostname对端口80的编址.Netstat -tln 命令是Linux ...

  6. linux 查看端口号命令

    Linux下如果我们需要知道2809号端口的情况的话,我们可以这样,如下命令: $netstat -pan|grep 24800 tcp        0      0 0.0.0.0:24800   ...

  7. linux 常用端口

    常用端口 下面的表格中列举了包括在红帽企业 Linux 中的服务.守护进程.和程序所使用的最常见的通信端口.该列表还可以在 /etc/services 文件中找到.要查看由互联网号码分派局(IANA) ...

  8. linux查看端口是否开放

    在讨论这个问题前,我们先来了解一下物理端口.逻辑端口.端口号等计算机概念. 端口相关的概念: 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型.物理端口指的是物理存在的端口,如ADSL M ...

  9. windows和Linux查看端口占用进程并关闭

    Windows: 以端口8080为例: 1.查找对应的端口占用的进程:netstat  -aon|findstr  "8080"    ,找到占用8080端口对应的程序的PID号: ...

随机推荐

  1. mysql5.5提示Deprecated: mysql_query(): The mysql extension is deprecated

    解决方法1:在php程序代码里面设置报警级别 <?php error_reporting = E_ALL & ~E_DEPRECATED 方法2:禁止php报错 display_erro ...

  2. Java:对象的序列化

    一.对象序列化机制 序列化机制允许将实现序列化的Java对象转换为字节序列,这些字节序列可以被保存在磁盘上或通过网络传输,以备以后重新恢复原来的对象: 序列化机制使得对象可以脱离程序的运行而独立存在: ...

  3. 开启/关闭ubuntu防火墙

    LInux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw.而UFW支持图形界面操作,只需在命令行运行ufw命令即能看到一系列的 ...

  4. SpringMVC源码阅读(二)

    今天分析下ViewResolver和View的实现  下面是ModelAndView的实现 package org.springframework.web.servlet; import java.u ...

  5. [译]36 Days of Web Testing(三)

    Day 14: Automate the tedious Why ? 有些时候,web测试还是蛮单调乏味的,在开始测试前,你可能要必须跳转到一个特定的表单页面,或则为了得到一个特定的页面(或配置),你 ...

  6. dyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic

    这个错误,一般在高版本设备里面不会出现,而在低版本会出现比如你的项目或者引入的静态库的Deployment Target设置成了ios6.0而你的测试设备是ios5.0甚至更低,就会出现如上错误.因为 ...

  7. 为ant指定编译版本

    用Eclipse的ant折腾了一天也没搞清楚为什么同样的设置ant出的class版本却不一样.后来下载个ant工具在命令行执行通过. 从网上抄得指定编译版本的方法如下: ant 运行时,必需依赖jdk ...

  8. Delphi的Owner与Parent可以不一致,而且Owner不是必须存在(一共7个问题) good

    问题1:Owner与Parent不一致:新建一个Form,上面放一个Button1,一个Panel1,然后在Panel1上再放一个Button2,测试结果:procedure TForm1.Butto ...

  9. 双缓冲技术(Double Buffering)(1、简介和源代码部分)

    这一节实在是有些长,翻译完后统计了一下,快到2w字了.考虑到阅读的方便和网络的速度,打算把这节分为5个部分,第一部分为双缓冲技术的一个 简介和所有的代码,如果能够看懂代码,不用看译文也就可以了.第二部 ...

  10. 《深度探索c++对象模型》chapter2 构造函数语义学

    关于c++,最常听到的一个抱怨是,编译器背着程序员做了太多事情,conversion运算符是最常被引用的一个例子:jerry schwarz,iostream函数库的建筑师,就曾经说过一个故事,他说他 ...