热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何查看操作系统端口占用情况及知识点引申

原创作品,出自“深蓝的blog”博客,深蓝的blog:http:blog.csdn.nethuangyanlongarticledetai

原创作品,出自 “深蓝的blog” 博客,深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/47055479

查看操作系统端口占用情况

1、win操作系统下

开始-运行,输入CMD打开命令行界面,输入命令如下:

语法:netstat -ano | findstr "端口号"

下面查询一下8000端口,如下说明8000端口没有被占用,可以考虑使用,如下:

补充一些知识:

想通过进程号进一步查看进程名称,语法:tasklist | findstr "PID"如下:

在到任务管理器看一下进程名对应的内存消耗等,如下:

 

2、linux操作系统下

如果通过ps来查看,如下:

[root@node1 ~]# ps -ef |grep 80 |grep -v grep

root      1980  1979  0 11:01 ?        00:00:00 hald-runner

68        1991  1980  0 11:01 ?        00:00:00 hald-addon-keyboard: listening on /dev/input/event0

68        1993  1980  0 11:01 ?        00:00:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket

root      1998  1980  0 11:01 ?        00:00:39 hald-addon-storage: polling /dev/hdc

root      3800     1  0 11:03 ?        00:00:03 /u01/11.2.0/grid/bin/orarootagent.bin

grid      4080     1  0 11:04 ?        00:00:00 asm_smon_+ASM1

 

或者用netstat来查看一下。

语法:netstat -antu|grep 端口号

查询端口号名称含有80的连接情况,如下:

[root@node1 ~]# netstat -antu|grep 80

tcp        0      0 127.0.0.1:6100              127.0.0.1:37380             TIME_WAIT  

udp        0      0 127.0.0.1:28041             0.0.0.0:*                              

udp        0      0 10.53.105.20:13580          0.0.0.0:*                              

udp        0      0 10.53.105.20:31800          0.0.0.0:*                              

udp        0      0 127.0.0.1:51680             0.0.0.0:*                              

udp        0      0 127.0.0.1:38002             0.0.0.0:*                              

udp        0      0 127.0.0.1:50805             0.0.0.0:*                              

[root@node1 ~]# netstat -antu|grep 8000

--查看发现8000端口没有程序使用

 

补充知识:

看一下,netstat的功能很强大,不仅可以查看到端口使用情况,还可以显示网络状态的信息,得知整个Linux系统的网络情况,比如网络连接、路由表、接口统计、伪装连接、组播成员。

[root@node1 ~]# netstat -help

usage: netstat [-veenNcCF] [] -r         netstat {-V|--version|-h|--help}

       netstat [-vnNcaeol] [ ...]

       netstat { [-veenNac] -I[] | [-veenNac] -i | [-cnNe] -M | -s } [delay]

 

        -r, --route                display routing table

        -I, --interfaces=[] display interface table for

        -i, --interfaces           display interface table

        -g, --groups               display multicast group memberships

        -s, --statistics           display networking statistics (like SNMP)

        -M, --masquerade           display masqueraded connections

 

        -v, --verbose              be verbose

        -n, --numeric              don't resolve names

        --numeric-hosts            don't resolve host names

        --numeric-ports            don't resolve port names

        --numeric-users            don't resolve user names

        -N, --symbolic             resolve hardware names

        -e, --extend               display other/more information

        -p, --programs             display PID/Program name for sockets

        -c, --continuous           continuous listing

 

        -l, --listening            display listening server sockets

        -a, --all, --listening     display all sockets (default: connected)

        -o, --timers               display timers

        -F, --fib                  display Forwarding Information Base (default)

        -C, --cache                display routing cache instead of FIB

        -T, --notrim               stop trimming long addresses

        -Z, --context              display SELinux security context for sockets

 

  : Name of interface to monitor/list.

  ={-t|--tcp} {-u|--udp} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom

  =Use '-A ' or '--'; default: inet

  List of possible address families (which support routing):

    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)

    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)

    x25 (CCITT X.25)

 

[root@node1 ~]# netstat -i

--显示网络接口状态

Kernel Interface table

Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0       1500   0     1661      0      0      0    10226      0      0      0 BMRU

eth1       1500   0   775514      0      0      0   680251      0      0      0 BMRU

eth1:1     1500   0      - no statistics available -                            BMRU

eth1:3     1500   0      - no statistics available -                            BMRU

lo        16436   0   424397      0      0      0   424397      0      0      0 LRU

peth0      1500   0     1677      0      0      0    10244      0      0      0 BORU

vif0.0     1500   0    10226      0      0      0     1661      0      0      0 BORU

virbr0     1500   0        0      0      0      0      154      0      0      0 BMRU

xenbr0     1500   0    11887      0      0      0        0      0      0      0 BORU

 

[root@node1 ~]# netstat -r

--显示内核路由表信息

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

10.53.105.0     *               255.255.255.0   U         0 0          0 eth1

10.53.105.0     *               255.255.255.0   U         0 0          0 eth0

192.168.122.0   *               255.255.255.0   U         0 0          0 virbr0

169.254.0.0     *               255.255.0.0     U         0 0          0 eth0

 

[root@node1 ~]# netstat -tulnp

--检查系统上开放端口的情况

--显示协议、端口号、本地地址、目的地址、状态、进程号、程序名等信息

[root@node1 ~]# netstat -tulnp |grep 80

--检查系统上开放有关“80”名的端口的情况

udp        0      0 127.0.0.1:28041             0.0.0.0:*                               4194/oracle+ASM1_oc

udp        0      0 10.53.105.20:31241          0.0.0.0:*                               4080/asm_smon_+ASM1

udp        0      0 127.0.0.1:36234             0.0.0.0:*                               4080/asm_smon_+ASM1

udp        0      0 127.0.0.1:50314             0.0.0.0:*                               3800/orarootagent.b

udp        0      0 10.53.105.20:13580          0.0.0.0:*                               4104/asm_lck0_+ASM1

udp        0      0 127.0.0.1:54438             0.0.0.0:*                               3800/orarootagent.b

udp        0      0 127.0.0.1:53678             0.0.0.0:*                               3800/orarootagent.b

udp        0      0 10.53.105.20:55988          0.0.0.0:*                               4080/asm_smon_+ASM1

udp        0      0 10.53.105.20:31800          0.0.0.0:*                               4076/asm_ckpt_+ASM1

udp        0      0 127.0.0.1:51680             0.0.0.0:*                               3800/orarootagent.b

udp        0      0 127.0.0.1:54884             0.0.0.0:*                               3800/orarootagent.b

udp        0      0 127.0.0.1:43621             0.0.0.0:*                               3800/orarootagent.b

udp        0      0 127.0.0.1:38002             0.0.0.0:*                               3798/cssdagent     

udp        0      0 127.0.0.1:50805             0.0.0.0:*                               4153/asm_asmb_+ASM1

[root@node1 ~]# netstat -tulnp

 

netstat的命令:

结合netstat做一个小结,再补充些知识点,如下:

netstat命令,可以显示路由表、实际的网络连接以及每一网络接口设备的状态信息。

还可以查看本机启动了什么服务,端口是什么以及当前网络状态。

当启动某个服务表现异常,也可以利用netstat来查找原因。

之所以netstat可以实现如此多的功能,因为这是一个多种工具的汇总。

举几个小例子:

[root@xckydb /]# netstat -nta

--只列出所有TCP的网络情况

注释:

Proto:连线的封包协议;

Recv-Q:非连接本socket的用户程序所复制的总bytes数;

Send-Q:没有被远端主机ACK的总bytes数,主要指SYN或其它标志的数据包所占的bytes数;

Local Address:本地地址与端口;

Foreign Address:远程地址与端口;

State:内部地址与外部地址的连接状态,细化如下:

       ESTABLISED:经过TCP三次握手已建立连接;

       SYN_SENT:表示请求连接。SYN_SENT状态应该是非常短暂;

       SYN_RECV:接收到一个要求连线的主动连线封包;

       FIN_WAIT1:socket已中断,该连线正在断线中;

       FIN_WAIT2:该连线已挂断,但正在等待对方回应断线确认包;

       TIME_WAIT:该连线已挂断,但socket还在网络上等待结束;

       LISTEN:此博爱是处于侦听状态,该端口是开放的,等待连接。

 

使用netstat输出信息分为两部分:

部分一:TCP/IP

部分二:Unix socket(用于本机内的进程间通信)

 

读《linux就是这个范》时,知道了一些知识,摘抄如下:

    SYN_SENT状态应该是非常短暂。如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒。这类病毒为了感染别的计算机,他就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出同步请求,这就是出现许多SYN_SENT的原因。当然,这些情况大多是发生在windows下,既然你已经选择了linux,应该是很少再为病毒所恼。

    作为服务器,重点看的是LISTEN状态和ESTABLISED状态。LISTEN是本机开了哪些端口;ESTABLISED是谁在访问你的机器,从哪个地址访问的,是不是一个正常程序发起的。在windows系统上看ESTABLISED状态时一定要注意是不是IEXPLORE.EXE程序(IE)发起的连接,如果是IEXPLORE.EXE之类的程序发起的连接,也许是你的计算机中了木马。

 

补充:关于linux服务端口的设置问题。

    在大多数LINUX发行版下,我们可以找到/etc/services文件,这是一个字典文件,说明服务与端口的对应关系。

内容类似如下:

这其中有诸如此类信息,如下:

ftp 20/tcp

ftp 21/tcp

ssh 22/tcp

telnet 23/tcp

这些看来是给服务分配端口用,但是实际上这个文件并没有这个作用。他只是给netstat命令参考的,因为当你不给它传递"-n"这个命令选项时,是能够输出服务名的。netstat之所以能够做到这一点,就是/etc/services文件所起的作用。

 

另外查看到一个知识点:

再补充一下,通过网络服务名来查看所使用的端口信息。

查看某服务的端口号,举例如下:

[root@node1 ~]# grep telnet /etc/services

--/etc/services:功能是将网络服务名转换为端口号/协议

telnet          23/tcp

telnet          23/udp

rtelnet         107/tcp                         # Remote Telnet

rtelnet         107/udp

telnets         992/tcp

telnets         992/udp

skytelnet       1618/tcp                        # skytelnet

skytelnet       1618/udp                        # skytelnet

hp-3000-telnet  2564/tcp                        # HP 3000 NS/VT block mode telnet

tl1-telnet      3083/tcp                        # TL1-TELNET

tl1-telnet      3083/udp                        # TL1-TELNET

telnetcpcd      3696/tcp                        # Telnet Com Port Control

telnetcpcd      3696/udp                        # Telnet Com Port Control

scpi-telnet     5024/tcp                        # SCPI-TELNET

scpi-telnet     5024/udp                        # SCPI-TELNET

ktelnet         6623/tcp                        # Kerberos V5 Telnet

ktelnet         6623/udp                        # Kerberos V5 Telnet

 

*******************************************蓝的成长记系列****************************************************

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。

蓝的成长记——追逐DBA(1):奔波于路上,挺进山东

蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知

蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题

蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)

蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统

蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人

蓝的成长记——追逐DBA(7):基础命令,地基之石

蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验

蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程

蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere

蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来

蓝的成长记——追逐DBA(12):七天七收获的SQL

蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机......”

蓝的成长记——追逐DBA(14):难忘的“云”端,起步的hadoop部署

蓝的成长记——追逐DBA(15):以为FTP很“简单”,谁成想一波三折

蓝的成长记——追逐DBA(16):DBA也喝酒,被捭阖了

蓝的成长记——追逐DBA(17):是分享,还是消费,在后IOE时代学会成长

******************************************************************************************************************

 

********************************************足球与oracle系列*************************************************

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。

足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观

足球与oracle系列(2):巴西揭幕战预演,oracle体系结构杂谈

足球与oracle系列(3):oracle进程排名,世界杯次回合即将战罢!

足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比! 

足球与oracle系列(5):fifa14游戏缺失的directX库类比于oracle的rpm包!

足球与oracle系列(6):伴随建库的亚洲杯——加油中国队

******************************************************************************************************************


推荐阅读
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 本文介绍了Python字典视图对象的示例和用法。通过对示例代码的解释,展示了字典视图对象的基本操作和特点。字典视图对象可以通过迭代或转换为列表来获取字典的键或值。同时,字典视图对象也是动态的,可以反映字典的变化。通过学习字典视图对象的用法,可以更好地理解和处理字典数据。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
author-avatar
l季莫_339
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有