一、端口号概念
在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,
如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。
由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号。
二、端口号涵义
端口包括物理端口和逻辑端口。物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。
一个IP地址的端口通过16bit进行编号,最多可以有65536个端口。端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。
三、端口号使用
1. 列出所有端口 (包括监听和未监听的)
列出所有端口 netstat -a
# netstat -a | moreActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 localhost:30037 *:* LISTENudp 0 0 *:bootpc *:*Active UNIX domain sockets (servers and established)Proto RefCnt Flags Type State I-Node Pathunix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket
列出所有 tcp 端口 netstat -at
# netstat -atActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 localhost:30037 *:* LISTENtcp 0 0 localhost:ipp *:* LISTENtcp 0 0 *:smtp *:* LISTENtcp6 0 0 localhost:ipp [::]:* LISTEN
列出所有 udp 端口 netstat -au
# netstat -auActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Stateudp 0 0 *:bootpc *:*udp 0 0 *:49119 *:*udp 0 0 *:mdns *:*
2. 列出所有处于监听状态的 Sockets
只显示监听端口 netstat -l
# netstat -lActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 localhost:ipp *:* LISTENtcp6 0 0 localhost:ipp [::]:* LISTENudp 0 0 *:49119 *:*
只列出所有监听 tcp 端口 netstat -lt
# netstat -ltActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 localhost:30037 *:* LISTENtcp 0 0 *:smtp *:* LISTENtcp6 0 0 localhost:ipp [::]:* LISTEN
只列出所有监听 udp 端口 netstat -lu
# netstat -luActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address Stateudp 0 0 *:49119 *:*udp 0 0 *:mdns *:*
只列出所有监听 UNIX 端口 netstat -lx
# netstat -lxActive UNIX domain sockets (only servers)Proto RefCnt Flags Type State I-Node Pathunix 2 [ ACC ] STREAM LISTENING 6294 private/maildropunix 2 [ ACC ] STREAM LISTENING 6203 public/cleanupunix 2 [ ACC ] STREAM LISTENING 6302 private/ifmailunix 2 [ ACC ] STREAM LISTENING 6306 private/bsmtp
3. 显示每个协议的统计信息
显示所有端口的统计信息 netstat -s
# netstat -sIp:11150 total packets received1 with invalid addresses0 forwarded0 incoming packets discarded11149 incoming packets delivered11635 requests sent outIcmp:0 ICMP messages received0 input ICMP message failed.Tcp:582 active connections openings2 failed connection attempts25 connection resets receivedUdp:1183 packets received4 packets to unknown port received......
显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su
# netstat -st # netstat -su
4. 在 netstat 输出中显示 PID 和进程名称 netstat -p
netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。
# netstat -ptActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 1 0 ramesh-laptop.loc:47212 192.168.185.75:www CLOSE_WAIT 2109/firefoxtcp 0 0 ramesh-laptop.loc:52750 lax:www ESTABLISHED 2109/firefox
5. 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)
当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。
同样可以加速输出,因为不用进行比对查询。
# netstat -an
如果只是不想让这三个名称中的一个被显示,使用以下命令
# netsat -a --numeric-ports # netsat -a --numeric-hosts # netsat -a --numeric-users
6. 持续输出 netstat 信息
netstat 将每隔一秒输出网络信息。
# netstat -cActive Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 ramesh-laptop.loc:36130 101-101-181-225.ama:www ESTABLISHEDtcp 1 1 ramesh-laptop.loc:52564 101.11.169.230:www CLOSINGtcp 0 0 ramesh-laptop.loc:43758 server-101-101-43-2:www ESTABLISHEDtcp 1 1 ramesh-laptop.loc:42367 101.101.34.101:www CLOSING^C
逻辑意义上的端口有多种分类标准,下面将介绍常见的按端口号分布的分类:
(1)知名端口(Well-Known Ports)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在 地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口 号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“www.cce.com.cn:8080”。
但是有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。
(2)动态端口(Dynamic Ports)
动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等 。
(3)保留端口号
Unix系统有保留端口号的概念。只有具有超级用户特权的进程才允许给它自己分配一个保留端口号。
这些端口号介于1~1023之间,一些应用程序(如有名的Rlogin,26.2节)将它作为客户与服务器之间身份认证的一部分。
知名端口号
端口号 | 端口服务名称 | 端口说明 |
| |||
1 | tcpmux | TCP端口服务多路复用 |
| |||
5 | rje | 远程作业入口 |
| |||
7 | echo | Echo服务 |
| |||
9 | discard | 用于连接测试的空服务 |
| |||
11 | systat | 用于列举连接了的端口的系统状态 |
| |||
13 | daytime | 给请求主机发送日期和时间 |
| |||
17 | qotd | 给连接了的主机发送每日格言 |
| |||
18 | msp | 消息发送协议 |
| |||
19 | chargen | 字符生成服务;发送无止境的字符流 |
| |||
20 | ftp-data | FTP数据端口 |
| |||
21 | ftp | 文件传输协议(FTP)端口;有时被 文件服务协议(FSP)使用 |
| |||
22 | ssh | 安全Shell(SSH)服务 |
| |||
23 | telnet | Telnet服务 |
| |||
25 | smtp | 简单邮件传输协议(SMTP) |
| |||
37 | time | 时间协议 |
| |||
39 | rlp | 资源定位协议 |
| |||
42 | nameserver | 互联网名称服务 |
| |||
43 | nicname | WHOIS目录服务 |
| |||
49 | tacacs | 用于基于TCP/IP验证和访问的终端 访问控制器访问控制系统 |
| |||
50 | re-mail-ck | 远程邮件检查协议 |
| |||
53 | domain | 域名服务(如BIND) |
| |||
63 | whois++ | WHOIS++,被扩展了的WHOIS服务 |
| |||
67 | bootps | 引导协议(BOOTP)服务;还被动态 主机配置协议(DHCP)服务使用 |
| |||
68 | bootpc | Bootstrap(BOOTP)客户;还被动态 主机配置协议(DHCP)客户使用 |
| |||
69 | tftp | 小文件传输协议(TFTP) |
| |||
70 | gopher | Gopher互联网文档搜寻和检索 |
| |||
71 | netrjs-1 | 远程作业服务 |
| |||
72 | netrjs-2 | 远程作业服务 |
| |||
73 | netrjs-3 | 远程作业服务 |
| |||
73 | netrjs-4 | 远程作业服务 |
| |||
79 | finger | 用于用户联系信息的Finger服务 |
| |||
80 | http | 用于万维网(WWW)服务的超文本传输协议(HTTP) |
| |||
88 | kerberos | Kerberos网络验证系统 |
| |||
95 | Supdup | Telnet协议扩展 |
| |||
101 | hostname | SRI-NIC机器上的主机名服务 |
| |||
端口号 | 端口服务名称 | 端口说明 |
| |||
102 | iso-tsap | ISO开发环境(ISODE)网络应用 |
| |||
105 | csnet-ns | 邮箱名称服务器;也被CSO名称服务器使用 |
| |||
107 | rtelnet | 远程Telnet |
| |||
109 | pop2 | 邮局协议版本2 |
| |||
110 | pop3 | 邮局协议版本3 |
| |||
111 | sunrpc | 用于远程命令执行的远程过程调用(RPC)协议, 被网络文件系统(NFS)使用 |
| |||
113 | auth | 验证和身份识别协议 |
| |||
115 | sftp | 安全文件传输协议(SFTP)服务 |
| |||
117 | uucp-path | UNIX到UNIX复制协议(UUCP)路径服务 |
| |||
119 | nntp | 用于USENET讨论系统的网络新闻传输协议(NNTP) |
| |||
123 | ntp | 网络时间协议(NTP) |
| |||
137 | netbios-ns | 在红帽企业Linux中被Samba使用的 NET BIOS名称服务 |
| |||
138 | netbios-dgm | 在红帽企业Linux中被Samba使用的 NET BIOS数据报服务 |
| |||
139 | netbios-ssn | 在红帽企业Linux中被Samba使用的 NET BIOS会话服务 |
| |||
143 | imap | 互联网消息存取协议(IMAP) |
| |||
161 | snmp | 简单网络管理协议(SNMP) |
| |||
162 | snmptrap | SNMP的陷阱 |
| |||
163 | cmip-man | 通用管理信息协议(CMIP) |
| |||
164 | cmip-agent | 通用管理信息协议(CMIP) |
| |||
174 | mailq | MAILQ |
| |||
177 | xdmcp | X显示管理器控制协议 |
| |||
178 | nextstep | NeXTStep窗口服务器 |
| |||
179 | bgp | 边界网络协议 |
| |||
191 | prospero | Cliffod Neuman的Prospero服务 |
| |||
194 | irc | 互联网中继聊天(IRC) |
| |||
199 | smux | SNMP UNIX多路复用 |
| |||
201 | at-rtmp | AppleTalk选路 |
| |||
202 | at-nbp | AppleTalk名称绑定 |
| |||
204 | at-echo | AppleTalk echo服务 |
| |||
206 | at-zis | AppleTalk区块信息 |
| |||
209 | qmtp | 快速邮件传输协议(QMTP) |
| |||
210 | z39.50 | NISO Z39.50数据库 |
| |||
213 | ipx | 互联网络分组交换协议(IPX),被 Novell Netware环境常用的数据报协议 |
| |||
220 | imap3 | 互联网消息存取协议版本3 |
| |||
245 | link | LINK |
| |||
347 | fatserv | Fatmen服务器 |
| |||
363 | rsvp_tunnel | RSVP隧道 |
| |||
369 | rpc2portmap | Coda文件系统端口映射器 |
| |||
370 | codaauth2 | Coda文件系统验证服务 |
| |||
372 | ulistproc | UNIX Listserv |
| |||
389 | ldap | 轻型目录存取协议(LDAP) |
| |||
端口号 | 端口服务名称 | 端口说明 | ||||
427 | svrloc | 服务位置协议(SLP) | ||||
434 | mobileip-agent | 可移互联网协议(IP)代理 | ||||
435 | mobilip-mn | 可移互联网协议(IP)管理器 | ||||
443 | https | 安全超文本传输协议(HTTP) | ||||
444 | snpp | 小型网络分页协议 | ||||
445 | microsoft-ds | 通过TCP/IP的服务器消息块(SMB) | ||||
464 | kpasswd | Kerberos口令和钥匙改换服务 | ||||
468 | photuris | Photuris会话钥匙管理协议 | ||||
487 | saft | 简单不对称文件传输(SAFT)协议 | ||||
488 | gss-http | 用于HTTP的通用安全服务(GSS) | ||||
496 | pim-rp-disc | 用于协议独立的多址传播(PIM) 服务的会合点发现(RP-DISC) | ||||
500 | isakmp | 互联网安全关联和钥匙管理协议(ISAKMP) | ||||
512/tcp | exec | 用于对远程执行的进程进行验证 | ||||
512/udp | biff [comsat] | 异步邮件客户(biff)和服务(comsat) | ||||
513/tcp | login | 远程登录(rlogin) | ||||
513/udp | who [whod] | 登录的用户列表 | ||||
514/tcp | shell [cmd] | 不必登录的远程Shell(rshell)和远程复制(rcp) | ||||
514/udp | syslog | UNIX系统日志服务 | ||||
515 | printer [spooler] | 打印机(lpr)假脱机 | ||||
517/udp | talk | 远程对话服务和客户 | ||||
518/udp | ntalk | 网络交谈(ntalk),远程对话服务和客户 | ||||
519 | utime [unixtime] | UNIX时间协议(utime) | ||||
520/tcp | efs | 扩展文件名服务器(EFS) | ||||
520/udp | router [route, routed] | 选路信息协议(RIP) | ||||
521 | ripng | 用于互联网协议版本6(IPv6)的选路信息协议 | ||||
525 | timed [timeserver] | 时间守护进程(timed) | ||||
526/tcp | tempo [newdate] | Tempo | ||||
530/tcp | courier [rpc] | Courier远程过程调用(RPC)协议 | ||||
531/tcp | conference [chat] | 互联网中继聊天 | ||||
532 | netnews | Netnews | ||||
533/udp | netwall | 用于紧急广播的Netwall | ||||
535 | iiop | 互联网内部对象请求代理协议(IIOP) | ||||
538 | gdomap | GNUstep分布式对象映射器(GDOMAP) | ||||
540/tcp | uucp [uucpd] | UNIX到UNIX复制服务 | ||||
543/tcp | klogin | Kerberos版本5(v5)远程登录 | ||||
544/tcp | kshell | Kerberos版本5(v5)远程shell | ||||
546 | dhcpv6-client | 动态主机配置协议(DHCP)版本6客户 | ||||
547 | dhcpv6-server | 动态主机配置协议(DHCP)版本6服务 | ||||
548 | afpovertcp | 通过传输控制协议(TCP)的Appletalk 文件编制协议(AFP) | ||||
556 | remotefs [rfs_server, rfs] | Brunhoff的远程文件系统(RFS) | ||||
554 | rtsp | 实时流播协议(RTSP) | ||||
端口号 | 端口服务名称 | 端口说明 | ||||
563 | nntps | 通过安全套接字层的网络新闻传输协议(NNTPS) | ||||
565 | whoami | whoami | ||||
587 | submission | 邮件消息提交代理(MSA) | ||||
610 | npmp-local | 网络外设管理协议(NPMP) 本地/分布式排队系统(DQS) | ||||
611 | npmp-gui | 网络外设管理协议(NPMP) GUI /分布式排队系统(DQS) | ||||
612 | hmmp-ind | HMMP指示/ DQS | ||||
631 | ipp | 互联网打印协议(IPP) | ||||
636 | ldaps | 通过安全套接字层的轻型目录访问协议(LDAPS) | ||||
674 | acap | 应用程序配置存取协议(ACAP) | ||||
694 | ha-cluster | 用于带有高可用性的群集的心跳服务 | ||||
749 | kerberos-adm | Kerberos版本5(v5)的“kadmin”数据库管理 | ||||
750 | kerberos-iv | Kerberos版本4(v4)服务 | ||||
765 | webster | 网络词典 | ||||
767 | phonebook | 网络电话簿 | ||||
873 | rsync | rsync文件传输服务 | ||||
992 | telnets | 通过安全套接字层的Telnet(TelnetS) | ||||
993 | imaps | 通过安全套接字层的互联网消息存取协议(IMAPS) | ||||
994 | ircs | 通过安全套接字层的互联网中继聊天(IRCS) | ||||
995 | pop3s | 通过安全套接字层的邮局协议版本3(POPS3) | ||||
1080 | socks | SOCKS网络应用程序代理服务 | ||||
1236 | bvcontrol [rmtcfg] | Garcilis Packeten远程配置服务器[a] | ||||
1300 | h323hostcallsc | H.323电话会议主机电话安全 | ||||
1433 | ms-sql-s | Microsoft SQL服务器 | ||||
1434 | ms-sql-m | Microsoft SQL监视器 | ||||
1494 | ica | Citrix ICA客户 | ||||
1512 | wins | Microsoft Windows互联网名称服务器 | ||||
1524 | ingreslock | Ingres数据库管理系统(DBMS)锁定服务 | ||||
1525 | prospero-np | 无特权的Prospero | ||||
1645 | datametrics [old-radius] | Datametrics /从前的radius项目 | ||||
1646 | sa-msg-port [oldradacct] | sa-msg-port /从前的radacct项目 | ||||
1649 | kermit | Kermit文件传输和管理服务 | ||||
1701 | l2tp [l2f] | 第2层隧道服务(LT2P)/第2层转发(L2F) | ||||
1718 | h323gatedisc | H.323电信守门装置发现机制 | ||||
1719 | h323gatestat | H.323电信守门装置状态 | ||||
1720 | h323hostcall | H.323电信主持电话设置 | ||||
1758 | tftp-mcast | 小文件FTP组播 | ||||
1759 | mtftp | 组播小文件FTP(MTFTP) | ||||
1789 | hello | Hello路由器通信端口 | ||||
1812 | radius | Radius拨号验证和记账服务 | ||||
1813 | radius-acct | Radius记账 | ||||
1911 | mtp | Starlight网络多媒体传输协议(MTP) | ||||
端口号 | 端口服务名称 | 端口说明 | ||||
1985 | hsrp | Cisco热备用路由器协议 | ||||
1986 | licensedaemon | Cisco许可管理守护进程 | ||||
1997 | gdp-port | Cisco网关发现协议(GDP) | ||||
2049 | nfs [nfsd] | 网络文件系统(NFS) | ||||
2102 | zephyr-srv | Zephyr通知传输和发送服务器 | ||||
2103 | zephyr-clt | Zephyr serv-hm连接 | ||||
2104 | zephyr-hm | Zephyr主机管理器 | ||||
2401 | cvspserver | 并行版本系统(CVS)客户/服务器操作 | ||||
2430/tcp | venus | 用于Coda文件系统(codacon端口)的 Venus缓存管理器 | ||||
2430/udp | venus | 用于Coda文件系统(callback/wbc interface 界面)的Venus缓存管理器 | ||||
2431/tcp | venus-se | Venus传输控制协议(TCP)的副作用 | ||||
2431/udp | venus-se | Venus用户数据报协议(UDP)的副作用 | ||||
2432/udp | codasrv | Coda文件系统服务器端口 | ||||
2433/tcp | codasrv-se | Coda文件系统TCP副作用 | ||||
2433/udp | codasrv-se | Coda文件系统UDP SFTP副作用 | ||||
2600 | hpstgmgr [zebrasrv] | HPSTGMGR;Zebra选路[b] | ||||
2601 | discp-client [zebra] | discp客户;Zebra集成的Shell | ||||
2602 | discp-server [ripd] | discp服务器;选路信息协议守护进程(ripd) | ||||
2603 | servicemeter [ripngd] | 服务计量;用于IPv6的RIP守护进程 | ||||
2604 | nsc-ccs [ospfd] | NSC CCS;开放式短路径优先守护进程(ospfd) | ||||
2605 | nsc-posa | NSC POSA;边界网络协议守护进程(bgpd) | ||||
2606 | netmon [ospf6d] | Dell Netmon;用于IPv6的OSPF 守护进程(ospf6d) | ||||
2809 | corbaloc | 公共对象请求代理体系(CORBA)命名服务定位器 | ||||
3128/tcp | squid | Squid万维网代理缓存 | ||||
3130 | icpv2 | 互联网缓存协议版本2(v2);被 Squid代理缓存服务器使用 | ||||
3306 | mysql | MySQL数据库服务 | ||||
3346 | trnsprntproxy | Trnsprnt代理 | ||||
4011 | pxe | 执行前环境(PXE)服务 | ||||
4321 | rwhois | 远程Whois(rwhois)服务 | ||||
4444 | krb524 | Kerberos版本5(v5)到版本4(v4)门票转换器 | ||||
5002 | rfe | 无射频以太网(RFE)音频广播系统 | ||||
5308 | cfengine | 配置引擎(Cfengine) | ||||
5999 | cvsup [CVSup] | CVSup文件传输和更新工具 | ||||
6000 | x11 [X] | X窗口系统服务 | ||||
7000 | afs3-fileserver | Andrew文件系统(AFS)文件服务器 | ||||
7001 | afs3-callback | 用于给缓存管理器回电的AFS端口 | ||||
7002 | afs3-prserver | AFS用户和组群数据库 | ||||
7003 | afs3-vlserver | AFS文件卷位置数据库 | ||||
7004 | afs3-kaserver | AFS Kerberos验证服务 | ||||
7005 | afs3-volser | AFS文件卷管理服务器 | ||||
7006 | afs3-errors | AFS错误解释服务 | ||||
端口号 | 端口服务名称 | 端口说明 | ||||
7007 | afs3-bos | AFS基本监查进程 | ||||
7008 | afs3-update | AFS服务器到服务器更新器 | ||||
7009 | afs3-rmtsys | AFS远程缓存管理器服务 | ||||
9876 | sd | 会话指引器 | ||||
10080 | amanda | 高级Maryland自动网络磁盘归档器(Amanda)备份服务 | ||||
11371 | pgpkeyserver | 良好隐私(PGP)/ GNU隐私卫士(GPG)公钥服务器 | ||||
11720 | h323callsigalt | H.323调用信号交替 | ||||
13720 | bprd | Veritas NetBackup请求守护进程(bprd) | ||||
13721 | bpdbm | Veritas NetBackup数据库管理器(bpdbm) | ||||
13722 | bpjava-msvc | Veritas NetBackup Java / Microsoft Visual C++ (MSVC)协议 | ||||
13724 | vnetd | Veritas网络工具 | ||||
13782 | bpcd | Vertias NetBackup | ||||
13783 | vopied | Veritas VOPIED协议 | ||||
22273 | wnn6 [wnn4] | 假名/汉字转换系统[c] | ||||
26000 | quake | Quake(以及相关的)多人游戏服务器 | ||||
33434 | traceroute | Traceroute网络跟踪工具 |