admin管理员组

文章数量:1531793

2023年12月27日发(作者:)

Linux端口以及防火墙端口的查看命令

linux端口查看命令

Linux下如果我们需要知道2809号端口的情况的话,我们可以这样,如下命令:

$netstat -pan|grep 2809

tcp 0 0 0.0.0.0:2809 0.0.0.0:* LISTEN

9493/java

下面是常用参数的解释:

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

-a 显示所有连接和监听端口。

-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件

拥有多个独立组件,并且在这些情况下

包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名

在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项

可能需要很长时间,如果没有足够权限可能失败。

-e 显示以太网统计信息。此选项可以与

-s选项组合使用。

-n 以数字形式显示地址和端口号。

-o 显示与每个连接相关的所属进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是

下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下

列协议之一:

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r 显示路由表。

-s 显示按协议统计信息。默认地,显示

IP、

IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;

-p 选项用于指定默认情况的子集。

-v 与 -b 选项一起使用时将显示包含于

为所有可执行组件创建连接或监听端口的组件。

interval 重新显示选定统计信息,每次显示之间

暂停时间间隔(以秒计)。按 CTRL+C 停止重新

显示统计信息。如果省略,netstat 显示当前

配置信息(只显示一次)

netstat -nl | grep 110

看到有结果的话就是可以使用了(则端口号开启了)

先可以看看/etc/services文件,改文件定义了linux里所有的服务及其使用的端口

防火墙端口:

当Linux打开防火墙后,你会发现,从本机登录23端口是没有问题的,但是如果从另一台pc登录该linux系统后,你会发现提示这样的错误:

不能打开到主机的连接, 在端口 23: 连接失败

因为linux防火墙默认是关闭23端口的,如果允许远程登录,可

以关掉防火墙,也可以开防火墙开放23端口,具体如下:

即时生效,重启后失效

开启: service iptables start

关闭: service iptables stop

重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off

在开启了防火墙时,做如下设置,开启相关端口

修改/etc/sysconfig/iptables 文件,添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp

--dport 23 -j ACCEPT

查看防火墙 iptables -L

------------------

netstat -nupl (UDP类型的端口)

netstat -ntpl (TCP类型的端口)

你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:

lsof -i:80

如果有显示说明已经开放了,如果没有显示说明没有开放。

linux端口和服务:

一、端口和服务的关系

端口号与相应服务的对应关系存放在/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

本文标签: 端口服务显示启动连接