linux查看哪个端口可以使用

作者&投稿:季所 (若有异议请与网页底部的电邮联系)
linux 查看开启了哪些端口~

命令一
netstat -a 查看所有服务端口
命令二
nmap +ip地址
yum install nmap 安装nmap软件包
linux开放服务端口的设置
/etc/sysconfig/iptables
vi iptables
加入如下内容-A INPUT -p tcp -m tcp --dport 6001 -j ACCEPT然后保存退出,重启服务/etc/init.d/iptables restarts查看端口是否开放/sbin/iptables -L -n

常常看到有些人想要知道自己的Linux主机到底开放了多少Port?要如何来检测呢。通常我们知道的Port有下面这几个:

* ftp:21
* telnet:23
* smtp:25
* http:80
* pop-3:110
* netbios-ssn:139
* squid:3128
* mysql:3306
端口当然不只这些个,如何知道Port是否被开启呢?

检测你开启的服务有哪些?使用功能强大的 netstat 指令。

在做为服务器的Linux系统中,服务项目是越少越好!这样可以减少避免不必要的入侵通道。要了解自己的系统当中的服务项目,最简便的方法就是使用nestat 了!这个命令不但简单(是每一个Linux系统都会安装的套件!),而且功能也是很不错的,例如我们在检查WWW使用者的人数时,就很需要这个命令!好了,我们来看一下netstat 的使用方法:
复制内容到剪贴板
代码:
[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address Stat e
tcp 0 0 ::ffff:192.168.1.178:ssh ::ffff:192.168.1.175:4235 ESTA BLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 10 [ ] DGRAM 4701 /dev/log
unix 2 [ ] DGRAM 5846 @/var/run/hal/hotplug_s ocket
unix 2 [ ] DGRAM 2901 @udevd
unix 3 [ ] STREAM CONNECTED 5845 /var/run/dbus/system_bu s_socket
unix 3 [ ] STREAM CONNECTED 5844
unix 3 [ ] STREAM CONNECTED 5792 /var/run/dbus/system_bu s_socket
unix 3 [ ] STREAM CONNECTED 5791
unix 3 [ ] STREAM CONNECTED 5724
unix 3 [ ] STREAM CONNECTED 5723
如上所示,单纯使用 netstat 的时候,仅 列出目前已经连通的服务与服务名称。所以你可以看到,由于目前仅有一个ssh连接成功,所有就只显示出一个 ESTABLISHED(连接中的意思)。 上面的 :
复制内容到剪贴板
代码:
tcp 0 0 ::ffff:192.168.1.178:ssh ::ffff:192.168.1.175:4235
这一行表示有一个SSH的服务开放,是由远端的 192.168.1.175这个IP连接到 192.168.1.178 的。而连接的端口是4235。那如果我需要将所有的项目列出来呢?
复制内容到剪贴板
代码:
[root@localhost ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address Stat e
tcp 0 0 *:32768 *:* LIST EN
tcp 0 0 *:sunrpc *:* LIST EN
tcp 0 0 *:auth *:* LIST EN
tcp 0 0 localhost.localdomain:ipp *:* LIST EN
tcp 0 0 localhost.localdomain:smtp *:* LIST EN
tcp 0 0 *:ssh *:* LIST EN
tcp 0 0 ::ffff:192.168.1.178:ssh ::ffff:192.168.1.175:1237 ESTA BLISHED
udp 0 0 *:32768 *:*
udp 0 0 *:955 *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:ipp *:*
如上所示,加入 -a(all)就可以了。将所有在机器上 (监听 Listem)或者是(已建立连接的)的服务通通列出的意思。不过,服务的名称已经使用 /etc/services 里面的名称了,而不是使用 port 的数字!目前我主机上面的服务共开放了:sunrpc、auth、ssh、ipp、smtp.等服务(就是 Listen的那几个服务)至于已经建立的服务就只有 SSH 这一个!那如果我想知道开放了哪些端口号呢?呵呵,就使用下面的命令吧!
复制内容到剪贴板
代码:
[root@localhost ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:113 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 52 ::ffff:192.168.1.178:22 ::ffff:192.168.1.175:1237 ESTABLISHED
udp 0 0 0.0.0.0:32768 0.0.0.0:*
udp 0 0 0.0.0.0:955 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
如上所示,我接通的服务只有22这一个,而其它的你可以参照上面的命令输出结果来对照,所以你就可以知道:smtp为25端口。因此,通过使用此命令,就可以轻易的子解目前主机的运作状况与服务状态了。当然了,netstat的用途不止于此,你可以使用 man netstat 来查阅一番喔!相信对你的主机会有更大的了解。

相信有不少的朋友都会有这个困扰,就是要怎样删除已经建立的联机呢?因为总有些不速之客会连到您的主机来进行一些破坏的工作!或者是您根本不想让对方联机过来!呵呵!还记得 鸟哥的 Linux 私房菜--基础学习篇内的资源管理 里面提到的几个常用的指令吧!?那就是找出那个联机程序的 PID ,然后给他 kill 掉就是了!简单呀!不过,大问题是『我要怎样找出联机的 PID 呀!?』呵呵!由于 PID 的管理与整体的系统资源有关,这个时候,虽然可以使用 netstat 来观察 PID ,不过只有 root 可以观察到联机状态的 PID 号码呦!( 注:还记得资源管理提及的 PID 概念吗?就是说,在 Linux 系统之内,每个『程序』系统都会给予一个号码来管理!这个就是 PID 啰!)
 
复制内容到剪贴板
代码:
[root@test root]# netstat -ap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:ssh *:* LISTEN 32149/sshd
tcp 0 284 140.116.141.19:ssh 192.168.1.11:1391 ESTABLISHED 24751/sshd
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 7 [ ] DGRAM 944 509/syslogd /dev/log
unix 2 [ ] DGRAM 3035915 16648/xinetd
unix 2 [ ] DGRAM 739227 5951/pppoe
unix 2 [ ] DGRAM 739189 5949/pppd
unix 2 [ ] DGRAM 1070 628/crond
unix 2 [ ] DGRAM 953 514/klogd
unix 2 [ ] STREAM CONNECTED 690 1/init [3]
 
看到上面那个斜体字的联机建立的网络状态了吗?嘿嘿!最后面一栏就是显示那个 PID/Program name ,那个 PID ( 上面是 24751 )也就是我们要来砍掉的啦!这个时候,如果要将该联机砍掉时,就直接以 kill 来做吧!
 
复制内容到剪贴板
代码:
[root@test root]# kill -9 24751
 
这样就能将该联机给他『踢出去』您的主机啦!! ^_^""

1)使用lsof命令 lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法: lsof -i :port_number grep "(LISTEN)" -i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。 如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep "(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。 2)使用netstat 命令 大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 baidu一下吧。 执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。 和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。 下面以1521端口来看怎么查找到该程序,我们使用下面的命令: netstat -lnpawk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}' 在这里使用awk来匹配第4个字段的模式是为了避免误判。

发现8080端口被PID为9658的Java进程占用。
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看

就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!

1、查看端口是否已经打开:
netstat -an
2、查看端口是被哪个应用程序使用:
netstat -apn
ps -ef
3、查看端口是被哪个应用程序使用:
lsof

netstat -an 看哪个端口没有就可以用哪个端口


linux开启端口命令?
1、查看哪些端口被打开netstat-anp。2、关闭端口号:iptables-AINPUT-ptcp--drop端口号-jDROP,iptables-AOUTPUT-ptcp--dport 端口号-jDROP。3、打开端口号:iptables-AINPUT-ptcp--dport端口号-jACCEPT。4、以下是linux打开端口命令的使用方法。nc-lp22(打开22端口,即telnet),netstat-an|grep22...

查看linux的ssh端口查看Linux的ssh
如何在linux下配置ssh和sftp使用不同的端口号? 1、两个deamon 要实现ssh和sftp分离,分别监听不同的端口,可以通过创建两个‘\/usr\/sbin\/sshd’后台程序,一个监听22端口(ssh),一个监听20022端口(sftp),为了区分ssh和sftp服务的后台程序,这里将ssh服务的后台程序保持为\/usr\/sbin\/sshd,而将sftp服务的后台程序改为\/...

linux查看端口号被占用的命令linux查看端口号
linux系统如何查找mysql所在端口?my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数。此文件中有一个参数是port;port=3306#设置mysql客户端连接服务端时默认使用的端口找到mysql运行目录下的my.ini(Linux系统下是my.cnf),查看此参数即可。linux服务器查看...

Linux下查看一个进程占用了哪个端口的方法
【步骤一】lsof -i lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具。以root用户来执行lsof -i命令 【步骤二】lsof -i:端口号 lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:2 步骤三】netstat -tunlp netstat ...

linux怎么看端口是否开放
可以通过使用telnet命令或netstat命令来查看Linux上端口是否开放。详细解释如下:使用telnet命令查看端口 1. 打开终端。2. 输入“telnet”加上空格和端口号。例如,要检查端口80是否开放,输入“telnet localhost 80”。3. 如果telnet成功连接到该端口,一般会看到类似于“Connected ...

linux怎么查看当前端口状态
在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询 netstat命令各个参数说明如下:-t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序...

linuxssh查看端口是否开放linuxssh查看
linux下怎么查看ssh的用户登录日志?ssh用户的登录日志主要是wtmp和utmp这2个文件,分别位于\/var\/log\/目录和\/var\/run目录,都是二进制文件,因此不能直接使用cat、tail等命令进行查看,需要使用who、w、users和last这4个命令进行查看,下面我简单介绍一下如何使用这4个命令来查看ssh用户登录日志:who 这个...

linux 如何查看服务和端口
netstat\/lsof netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 -a 显示一个所有的有效连接信息列表(包括已建立的连接,也包括监听连接请求的那些连接)-n 显示所有已建立的有效连接 -t tcp协议 -u udp协议 -l 查询正在监听的程序 -p 显示正在使用...

Linux端口占用查看命令杀掉linux端口占用查看
linux有什么命令能够查看本机器的网络流量??nethogs:按进程查看流量占用?iptraf:按连接\/端口查看流量?ifstat:按设备查看流量?ethtool:诊断工具?tcpdump:抓包工具希赛里有很多这方面资料的。在AIX中,哪个命令可以看到哪些进程在用哪个端口?AIX没有命令可以直接查看哪个进程在使用什么端口,不像Linux可以使用...

linux服务器端口怎么开放linux服务器端口
linux623端口是什么?620端口:SCO服务器管理 623端口:ASF远程管理控制协议 624端口:Crypto管理 linux21端口作用?linux21端口主要用于FTP(FileTransferProtocol,文件传输协议)服务,FTP服务主要是为了在两台计算机之间实现文件的上传与下载,一台计算机作为FTP客户端,另一台计算机作为FTP服务器,可以采用...

吴兴区19171837810: linux如何查看正在使用的端口 -
欧晨康斯: 查看端口使用情况,使用netstat命令. 查看已经连接的服务端口(ESTABLISHED netstat -a 查看所有的服务端口(LISTEN,ESTABLISHED) netstat -ap 查看8080端口,则可以结合grep命令:netstat -ap | grep 8080 如查看8888端口!

吴兴区19171837810: linux查看哪个端口可以使用 -
欧晨康斯: 发现8080端口被PID为9658的Java进程占用. 进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!

吴兴区19171837810: linux怎么查看端口号被使用 -
欧晨康斯: 在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询 netstat命令各个参数说明如下:-t : 指明显示TCP端口-u : 指明显示UDP端口-l : 仅显示监听套接字...

吴兴区19171837810: linux中怎么查看进程被那个端口占用 -
欧晨康斯: 用于查看指定端口号的进程情况,如查看22端口的情况你好,尝试以下方法:【步骤一】lsof -i lsof -i 用以显示符合条件的进程情况,lsof(list open files)是一个列出当前系统打开文件的工具.以root用户来执行lsof -i命令,【步骤二】lsof -i,【步骤三】netstat -tunlp netstat -tunlp用于显示tcp,udp的端口和进程等相关情况:端口号 lsof -i:端口号,用于查看某一端口的占用情况,比如查看22号端口使用情况,lsof -i:22, 【步骤四】netstat -tunlp|grep 端口号 netstat -tunlp|grep 端口号

吴兴区19171837810: linux怎么查看某个端口是否打开 -
欧晨康斯: 使用zdnetstst命令查看正在监听状态的端口: 1、netstat -nupl //n表示用数字形式显示端口号版,u,表示UDP协议类型,权p是程序PID,l表示处于监听状态的; 2、netstat -nuplf|grep 3306 //这个表示查找处于监听状态的,端口号为3306的进程

吴兴区19171837810: linux系统如何查看哪些端口被占用 -
欧晨康斯: 使用netstat命令查看,端口使用情况.其中Local Address 有端口的表示本机启用的服务占用的端口,这些端口一直被服务占用.Foreign Address有端口的是外部程序连接本机服务,本机随机分配的端口,这些端口随着外包程序断开连接自动释放

吴兴区19171837810: 什么指令可以查看LINUX中哪个进程打开哪些端口的 -
欧晨康斯: 查看哪个进程监听哪个端口,可以使用如下命令:netstat -anltp| grep program_name注:program_name请替换为想查看的进程.

吴兴区19171837810: linux 查看某个进程 占用哪些端口 -
欧晨康斯: ps -ef | grep Name 查看到进程id之后,使用netstat命令查看其占用的端口: netstat -nltp | grep pid

吴兴区19171837810: Linux下查看一个进程占用了哪个端口的方法 -
欧晨康斯: 时候需要在Linux下查看一个进程占用了那个端口,但是只知道进程大致的名称,比如要查看hadoop的namenode在哪个端口上运行,以便在eclipse中连接. 首先用ps命令查看进程的id:复制代码代码如下:$ ps -ef | grep Name其中每一行(...

吴兴区19171837810: linux 查看哪个端口使用情况 -
欧晨康斯: 使用netstat 和lsof命令,并用grep来过滤你需要查看的端口.例如查看tcp有哪些端口打开了:netstat -a| grep tcp 然后查看哪个进程占用了这些端口:lsof -i 如果要查看某个端口,比如80端口是哪个进程:lsof -i | grep :80

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网