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

来源:互联网 发布:mac软件下载网站推荐 编辑:程序博客网 时间:2024/05/21 10:02

原创作品,出自 “深蓝的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] [<Af>] -r         netstat {-V|--version|-h|--help}

       netstat [-vnNcaeol] [<Socket> ...]

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

 

        -r, --route                display routing table

        -I, --interfaces=[<Iface>] display interface table for <Iface>

        -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

 

  <Iface>: Name of interface to monitor/list.

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

  <AF>=Use '-A <af>' or '--<af>'; 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):伴随建库的亚洲杯——加油中国队

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

1 1
原创粉丝点击