2008年9月26日

如何用正确的方法来写出质量好的软件的75条体会

1. 你们的项目组使用源代码管理工具了么?
应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。

2. 你们的项目组使用缺陷管理系统了么?
应该用。ClearQuest太复杂,我的推荐是BugZilla。

3. 你们的测试组还在用Word写测试用例么?
不要用Word写测试用例(Test Case)。应该用一个专门的系统,可以是Test Manager,也可以是自己开发一个ASP.NET的小网站。主要目的是Track和Browse。

4. 你们的项目组有没有建立一个门户网站?
要 有一个门户网站,用来放Contact Info、Baselined Schedule、News等等。推荐Sharepoint PortalServer 2003来实现,15分钟就搞定。买不起SPS 2003可以用WSS (Windows Sharepoint Service)。

5. 你们的项目组用了你能买到最好的工具么?
应该用尽量好的工具来工作。比如,应该用VS.NET而不是Notepad来写C#。用Notepad写程序多半只是一种炫耀。但也要考虑到经费,所以说是“你能买到最好的”。

6. 你们的程序员工作在安静的环境里么?
需要安静环境。这点极端重要,而且要保证每个人的空间大于一定面积。

7. 你们的员工每个人都有一部电话么?
需要每人一部电话。而且电话最好是带留言功能的。当然,上这么一套带留言电话系统开销不小。不过至少每人一部电话要有,千万别搞得经常有人站起来喊:“某某某电话”。《人件》里面就强烈谴责这种做法。

8. 你们每个人都知道出了问题应该找谁么?
应该知道。任何一个Feature至少都应该有一个Owner,当然,Owner可以继续Dispatch给其他人。

9. 你遇到过有人说“我以为…”么?
要消灭“我以为”。Never assume anything。

10. 你们的项目组中所有的人都坐在一起么?
需要。我反对Virtual Team,也反对Dev在美国、Test在中国这种开发方式。能坐在一起就最好坐在一起,好处多得不得了。

11. 你们的进度表是否反映最新开发进展情况?
应该反映。但是,应该用Baseline的方法来管理进度表:维护一份稳定的Schedule,再维护一份最新更改。Baseline的方法也应该用于其它的Spec。Baseline是变更管理里面的一个重要手段。

12. 你们的工作量是先由每个人自己估算的么?
应该让每个人自己估算。要从下而上估算工作量,而不是从上往下分派。除非有其他原因,比如政治任务工期固定等。

13. 你们的开发人员从项目一开始就加班么?
不要这样。不要一开始就搞疲劳战。从项目一开始就加班,只能说明项目进度不合理。当然,一些对日软件外包必须天天加班,那属于剥削的范畴。

14. 你们的项目计划中Buffer Time是加在每个小任务后面的么?
不要。Buffer Time加在每个小任务后面,很容易轻易的就被消耗掉。Buffer Time要整段的加在一个Milestone或者checkpoint前面。

15. 值得再多花一些时间,从95%做到100%好
值得,非常值得。尤其当项目后期人困马乏的时候,要坚持。这会给产品带来质的区别。

16. 登记新缺陷时,是否写清了重现步骤?
要。这属于Dev和Test之间的沟通手段。面对面沟通需要,详细填写Repro Steps也需要。

17. 写新代码前会把已知缺陷解决么?
要。每个人的缺陷不能超过10个或15个,否则必须先解决老的bug才能继续写新代码。

18. 你们对缺陷的轻重缓急有事先的约定么?
必须有定义。Severity要分1、2、3,约定好:蓝屏和Data Lost算Sev 1,Function Error算Sev 2,界面上的算Sev 3。但这种约定可以根据产品质量现状适当进行调整。

19. 你们对意见不一的缺陷有三国会议么?
必须要有。要有一个明确的决策过程。这类似于CCB (Change Control Board)的概念。

20. 所有的缺陷都是由登记的人最后关闭的么?
Bug应该由Opener关闭。Dev不能私自关闭Bug。

21. 你们的程序员厌恶修改老的代码么?
厌恶是正常的。解决方法是组织Code Review,单独留出时间来。XP也是一个方法。

22. 你们项目组有Team Morale Activity么?
每个月都要搞一次,吃饭、唱歌、Outing、打球、开卡丁车等等,一定要有。不要剩这些钱。

23. 你们项目组有自己的Logo么?
要有自己的Logo。至少应该有自己的Codename。

24. 你们的员工有印有公司Logo的T-Shirt么?
要有。能增强归属感。当然,T-Shirt要做的好看一些,最好用80支的棉来做。别没穿几次就破破烂烂的。

25. 总经理至少每月参加次项目组会议
要的。要让team member觉得高层关注这个项目。

26. 你们是给每个Dev开一个分支么?
反对。Branch的管理以及Merge的工作量太大,而且容易出错。

27. 有人长期不Check-In代码么?
不可以。对大部分项目来说,最多两三天就应该Check-In。

28. 在Check-In代码时都填写注释了么?
要写的,至少一两句话,比如“解决了Bug No.225”。如果往高处拔,这也算做“配置审计”的一部分。

29. 有没有设定每天Check-In的最后期限?
要的,要明确Check-In Deadline。否则会Build Break。

30. 你们能把所有源码一下子编译成安装文件吗?
要的。这是每日编译(Daily Build)的基础。而且必须要能够做成自动的。

31. 你们的项目组做每日编译么?
当然要做。有三样东西是软件项目/产品开发必备的:1. bug management; 2. source control; 3. daily build。

32. 你们公司有没有积累一个项目风险列表?
要。Risk Inventory。否则,下个项目开始的时候,又只能拍脑袋分析Risk了。

33. 设计越简单越好
越简单越好。设计时候多一句话,将来可能就带来无穷无尽的烦恼。应该从一开始就勇敢的砍。这叫scope management。

34. 尽量利用现有的产品、技术、代码
千 万别什么东西都自己Coding。BizTalk和Sharepoint就是最好的例子,有这两个作为基础,可以把起点提高很多。或者可以尽量多用现成的 Control之类的。或者尽量用XML,而不是自己去Parse一个文本文件;尽量用RegExp,而不是自己从头操作字符串,等等等等。这就是“软件 复用”的体现。

35. 你们会隔一段时间就停下来夯实代码么?
要。最好一个月左右一次。传言去年年初Windows组在Stevb的命令下停过一个月增强安全。Btw,“夯”这个字念“hang”,第一声。

36. 你们的项目组每个人都写Daily Report么?
要写。五分钟就够了,写10句话左右,告诉自己小组的人今天我干了什么。一则为了沟通,二则鞭策自己(要是游手好闲一天,自己都会不好意思写的)。

37. 你们的项目经理会发出Weekly Report么?
要。也是为了沟通。内容包括目前进度,可能的风险,质量状况,各种工作的进展等。

38. 你们项目组是否至少每周全体开会一次?
要。一定要开会。程序员讨厌开会,但每个礼拜开会时间加起来至少应该有4小时。包括team meeting, spec review meeting, bug triage meeting。千万别大家闷头写code。

39. 你们项目组的会议、讨论都有记录么?
会前发meeting request和agenda,会中有人负责主持和记录,会后有人负责发meeting minutes,这都是effective meeting的要点。而且,每个会议都要形成agreements和action items。

40. 其他部门知道你们项目组在干什么么?
要发一些Newsflash给整个大组织。Show your team’s value。否则,当你坐在电梯里面,其他部门的人问:“你们在干嘛”,你回答“ABC项目”的时候,别人全然不知,那种感觉不太好。


41. 通过Email进行所有正式沟通
Email的好处是免得抵赖。但也要避免矫枉过正,最好的方法是先用电话和当面说,然后Email来确认。

42. 为项目组建立多个Mailing Group
如 果在AD+Exchange里面,就建Distribution List。比如,我会建ABC Project Core Team,ABCProject Dev Team,ABC Project All Testers,ABC Project ExtendedTeam等等。这样发起Email来方便,而且能让该收到email的人都收到、不该收到不被骚扰。

43. 每个人都知道哪里可以找到全部的文档么?
应该每个人都知道。这叫做知识管理(Knowledge Management)。最方便的就是把文档放在一个集中的File Share,更好的方法是用Sharepoint。

44. 你做决定、做变化时,告诉大家原因了么?
要 告诉大家原因。Empower teammember的手段之一是提供足够的information,这是MSF一开篇的几个原则之一。的确如此,tell me why是人之常情,tellmewhy了才能有understanding。中国人做事喜欢搞限制,限制信息,似乎能够看到某一份文件的人就是有身份的 人。大错特错。权威、权力,不在于是不是能access information/data,而在于是不是掌握资源。

45. Stay agile and expect change
要这样。需求一定会变的,已经写好的代码一定会被要求修改的。做好心理准备,对change不要抗拒,而是expect change。

46. 你们有没有专职的软件测试人员?
要有专职测试。如果人手不够,可以peer test,交换了测试。千万别自己测试自己的。

47. 你们的测试有一份总的计划来规定做什么和怎么做么?
这就是Test Plan。要不要做性能测试?要不要做Usability测试?什么时候开始测试性能?测试通过的标准是什么?用什么手段,自动的还是手动的?这些问题需要用Test Plan来回答。

48. 你是先写Test Case然后再测试的么?
应该如此。应该先设计再编程、先test case再测试。当然,事情是灵活的。我有时候在做第一遍测试的同时补上test case。至于先test case再开发,我不喜欢,因为不习惯,太麻烦,至于别人推荐,那试试看也无妨。

49. 你是否会为各种输入组合创建测试用例?
不要,不要搞边界条件组合。当心组合爆炸。有很多test case工具能够自动生成各种边界条件的组合——但要想清楚,你是否有时间去运行那么多test case。

50. 你们的程序员能看到测试用例么?
要。让Dev看到Test Case吧。我们都是为了同一个目的走到一起来的:提高质量。


51. 你们是否随便抓一些人来做易用性测试?
要这么做。自己看自己写的程序界面,怎么看都是顺眼的。这叫做审美疲劳——臭的看久了也就不臭了,不方便的永久了也就习惯了。

52. 你对自动测试的期望正确么?
别期望太高。依我看,除了性能测试以外,还是暂时先忘掉“自动测试”吧,忘掉WinRunner和LoadRunner吧。对于国内的软件测试的现状来说,只能“矫枉必须过正”了。

53. 你们的性能测试是等所有功能都开发完才做的么?
不能这样。性能测试不能被归到所谓的“系统测试”阶段。早测早改正,早死早升天。

54. 你注意到测试中的杀虫剂效应了么?
虫子有抗药性,Bug也有。发现的新Bug越来越少是正常的。这时候,最好大家交换一下测试的area,或者用用看其他工具和手法,就又会发现一些新bug了。

55. 你们项目组中有人能说出产品的当前整体质量情况么?
要有。当老板问起这个产品目前质量如何,Test Lead/Manager应该负责回答。

56. 你们有单元测试么?
单元测试要有的。不过没有单元测试也不是不可以,我做过没有单元测试的项目,也做成功了——可能是侥幸,可能是大家都是熟手的关系。还是那句话,软件工程是非常实践、非常工程、非常灵活的一套方法,某些方法在某些情况下会比另一些方法好,反之亦然。

57. 你们的程序员是写完代码就扔过墙的么?
大忌。写好一块程序以后,即便不做单元测试,也应该自己先跑一跑。虽然有了专门的测试人员,做开发的人也不可以一点测试都不做。微软还有Test Release Document的说法,程序太烂的话,测试有权踢回去。

58. 你们的程序中所有的函数都有输入检查么?
不要。虽然说做输入检查是write secure code的要点,但不要做太多的输入检查,有些内部函数之间的参数传递就不必检查输入了,省点功夫。同样的道理,未必要给所有的函数都写注释。写一部分主要的就够了。

59. 产品有统一的错误处理机制和报错界面么?
要 有。最好能有统一的error message,然后每个error message都带一个errornumber。这样,用户可以自己根据error number到user manual里面去看看错误的具体描述和可能原因,就像SQLServer的错误那样。同样,ASP.NET也要有统一的Exception处理。可以参 考有关的Application Block。

60. 你们有统一的代码书写规范么?
要有。Code Convention很多,搞一份来发给大家就可以了。当然,要是有FxCop这种工具来检查代码就更好了。


61. 你们的每个人都了解项目的商业意义么?
要。这是Vision的意思。别把项目只当成工作。有时候要想着自己是在为中国某某行业的信息化作先驱者,或者时不时的告诉team member,这个项目能够为某某某国家部门每年节省多少多少百万的纳税人的钱,这样就有动力了。平凡的事情也是可以有个崇高的目标的。

62. 产品各部分的界面和操作习惯一致么?
要这样。要让用户觉得整个程序好像是一个人写出来的那样。

63. 有可以作为宣传亮点的Cool Feature么?
要。这是增强团队凝聚力、信心的。而且,“一俊遮百丑”,有亮点就可以掩盖一些问题。这样,对于客户来说,会感觉产品从质量角度来说还是acceptable的。或者说,cool feature或者说亮点可以作为质量问题的一个事后弥补措施。

64. 尽可能缩短产品的启动时间
要这样。软件启动时间(Start-Up time)是客户对性能好坏的第一印象。

65. 不要过于注重内在品质而忽视了第一眼的外在印象
程序员容易犯这个错误:太看重性能、稳定性、存储效率,但忽视了外在感受。而高层经理、客户正相反。这两方面要兼顾,协调这些是PM的工作。

66. 你们根据详细产品功能说明书做开发么?
要这样。要有设计才能开发,这是必须的。设计文档,应该说清楚这个产品会怎么运行,应该采取一些讲故事的方法。设计的时候千万别钻细节,别钻到数据库、代码等具体实现里面去,那些是后面的事情,一步步来不能着急。

67. 开始开发和测试之前每个人都仔细审阅功能设计么?
要做。Function Spec review是用来统一思想的。而且,review过以后形成了一致意见,将来再也没有人可以说“你看,当初我就是反对这么设计的,现在吃苦头了吧”

68. 所有人都始终想着The Whole Image么?
要这样。项目里面每个人虽然都只是在制造一片叶子,但每个人都应该知道自己在制造的那片叶子所在的树是怎么样子的。我反对软件蓝领,反对过分的把软件制造看成流水线、车间。参见第61条。

69. Dev工作的划分是单纯纵向或横向的么?
不能单纯的根据功能模块分,或者单纯根据表现层、中间层、数据库层分。我推荐这么做:首先根据功能模块分,然后每个“层”都有一个Owner来Review所有人的设计和代码,保证consistency。

70. 你们的程序员写程序设计说明文档么?
要。不过我听说微软的程序员1999年以前也不写。所以说,写不写也不是绝对的,偷懒有时候也是可以的。参见第56条。


71. 你在招人面试时让他写一段程序么?
要的。我最喜欢让人做字符串和链表一类的题目。这种题目有很多循环、判断、指针、递归等,既不偏向过于考算法,也不偏向过于考特定的API。

72. 你们有没有技术交流讲座?
要的。每一两个礼拜搞一次内部的Tech Talk或者Chalk Talk吧。让组员之间分享技术心得,这笔花钱送到外面去培训划算。

73. 你们的程序员都能专注于一件事情么?
要 让程序员专注一件事。例如说,一个部门有两个项目和10个人,一种方法是让10个人同时参加两个项目,每个项目上每个人都花50%时间;另一种方法是5个 人去项目A,5个人去项目B,每个人都100%在某一个项目上。我一定选后面一种。这个道理很多人都懂,但很多领导实践起来就把属下当成可以任意拆分的资 源了。

74. 你们的程序员会夸大完成某项工作所需要的时间么?
会的,这是常见的,尤其会在项目后期夸大做某个change所需要的时间,以次来抵制change。解决的方法是坐下来慢慢磨,磨掉程序员的逆反心理,一起分析,并把估算时间的颗粒度变小。

75. 尽量不要用Virtual Heads
最 好不要用Virtual Heads。Virtual heads意味着resource is not secure,sharedresource会降低resource的工作效率,容易增加出错的机会,会让一心二用的人没有太多时间去review spec、reviewdesign。一个dedicated的人,要强过两个只能投入50%时间和精力的人。我是吃过亏的:7个parttime的 tester,发现的Bug和干的活,加起来还不如两个full-time的。参见第73条。73条是针对程序员的,75条是针对Resource Manager的。

阅读全文

Linux内存使用情况详解

通常我们用free 命令来查看内存使用情况:

$ free -m (-m参数是指以M为单位显示内存使用情况)

total used free shared buffers cached
Mem: 2021 1544 477 0 320 805
-/+ buffers/cache: 417 1603
Swap: 1983 0 1983

Mem:表示物理内存统计
-/+ buffers/cached:表示物理内存的缓存统计
Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。
系统的总物理内存:2021M,但系统当前真正可用的内存并不是第一行free 标记的 477M,它仅代表未被分配的内存。

我们使用total1、used1、free1、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行和第二行的数据。

total1:表示物理内存总量。
used1:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free1:未被分配的内存。
shared1:共享内存,一般系统不会用到,这里也不讨论。
buffers1:系统分配但未被使用的buffers 数量。
cached1:系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。
used2:实际使用的buffers 与cache 总量,也是实际使用的内存总量。
free2:未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。
可以整理出如下等式:

total1 = used1 + free1total1 = used2 + free2used1 = buffers1 + cached1 + used2free2 = buffers1 + cached1 + free1

很多人误以为free1是实际的剩余内存,还在奇怪为什么Linux系统占用了如此大的内存,其实这是正常的。

二.buffer 与cache 的区别
A buffer is something that has yet to be "written" to disk. A cache is something that has been "read" from the disk and stored for later use.

三.对于共享内存(Shared memory)
主要用于在UNIX 环境下不同进程之间共享数据,是进程间通信的一种方法.


阅读全文

常用端口列表及功能详解

1 tcpmux TCP Port Service Multiplexer   传输控制协议端口服务多路开关选择器
2 compressnet Management Utility     compressnet 管理实用程序
3 compressnet Compression Process     压缩进程
5 rje Remote Job Entry          远程作业登录
7 echo Echo                回显
9 discard Discard             丢弃
11 systat Active Users          在线用户
13 daytime Daytime            时间
17 qotd Quote of the Day         每日引用
18 msp Message Send Protocol       消息发送协议
19 chargen Character Generator      字符发生器
20 ftp-data File Transfer[Default Data]  文件传输协议(默认数据口)
 
21 ftp File Transfer[Control]       文件传输协议(控制)
22 ssh SSH Remote Login Protocol     SSH远程登录协议
23 telnet Telnet             终端仿真协议
24 ? any private mail system       预留给个人用邮件系统
25 smtp Simple Mail Transfer       简单邮件发送协议
27 nsw-fe NSW User System FE       NSW 用户系统现场工程师
29 msg-icp MSG ICP            MSG ICP
31 msg-auth MSG Authentication      MSG验证
33 dsp Display Support Protocol      显示支持协议
35 ? any private printer server      预留给个人打印机服务
37 time Time               时间
38 rap Route Access Protocol       路由访问协议
39 rlp Resource Location Protocol     资源定位协议
41 graphics Graphics           图形
42 nameserver WINS Host Name Server    WINS 主机名服务
43 nicname Who Is             "绰号" who is服务
44 mpm-flags MPM FLAGS Protocol      MPM(消息处理模块)标志协议
45 mpm Message Processing Module [recv]  消息处理模块 
46 mpm-snd MPM [default send]       消息处理模块(默认发送口)
47 ni-ftp NI FTP             NI FTP
48 auditd Digital Audit Daemon      数码音频后台服务 
49 tacacs Login Host Protocol (TACACS)  TACACS登录主机协议
50 re-mail-ck Remote Mail Checking Protocol  远程邮件检查协议
51 la-maint IMP Logical Address Maintenance  IMP(接口信息处理机)逻辑地址维护
52 xns-time XNS Time Protocol       施乐网络服务系统时间协议  
53 domain Domain Name Server       域名服务器
54 xns-ch XNS Clearinghouse        施乐网络服务系统票据交换
55 isi-gl ISI Graphics Language      ISI图形语言
56 xns-auth XNS Authentication      施乐网络服务系统验证
57 ? any private terminal access     预留个人用终端访问
58 xns-mail XNS Mail           施乐网络服务系统邮件
59 ? any private file service       预留个人文件服务
60 ? Unassigned              未定义
61 ni-mail NI MAIL            NI邮件?
62 acas ACA Services         ? 异步通讯适配器服务
63 whois+ whois+              WHOIS+
64 covia Communications Integrator (CI)  通讯接口 
65 tacacs-ds TACACS-Database Service   TACACS数据库服务
66 sql*net Oracle SQL*NET         Oracle SQL*NET
67 bootps Bootstrap Protocol Server    引导程序协议服务端
68 bootpc Bootstrap Protocol Client    引导程序协议客户端
69 tftp Trivial File Transfer       小型文件传输协议
70 gopher Gopher             信息检索协议
71 netrjs-1 Remote Job Service      远程作业服务
72 netrjs-2 Remote Job Service      远程作业服务
73 netrjs-3 Remote Job Service      远程作业服务
74 netrjs-4 Remote Job Service      远程作业服务
75 ? any private dial out service     预留给个人拨出服务
76 deos Distributed External Object Store 分布式外部对象存储 
77 ? any private RJE service        预留给个人远程作业输入服务
78 vettcp vettcp             修正TCP?
79 finger Finger             查询远程主机在线用户等信息
80 http World Wide Web HTTP        全球信息网超文本传输协议
81 hosts2-ns HOSTS2 Name Server      HOST2名称服务
82 xfer XFER Utility           传输实用程序
83 mit-ml-dev MIT ML Device        模块化智能终端ML设备
84 ctf Common Trace Facility       公用追踪设备
85 mit-ml-dev MIT ML Device        模块化智能终端ML设备
86 mfcobol Micro Focus Cobol       Micro Focus Cobol编程语言
87 ? any private terminal link      预留给个人终端连接
88 kerberos Kerberos           Kerberros安全认证系统
89 su-mit-tg SU/MIT Telnet Gateway    SU/MIT终端仿真网关
90 dnsix DNSIX Securit Attribute Token Map  DNSIX 安全属性标记图 
91 mit-dov MIT Dover Spooler       MIT Dover假脱机
92 npp Network Printing Protocol     网络打印协议
93 dcp Device Control Protocol      设备控制协议
94 objcall Tivoli Object Dispatcher    Tivoli对象调度
95 supdup  SUPDUP            
96 dixie DIXIE Protocol Specification   DIXIE协议规范
97 swift-rvf(Swift Remote Virtural File Protocol)快速远程虚拟文件协议 
98 tacnews TAC News            TAC新闻协议
99 metagram Metagram Relay       
100 newacct [unauthorized use]
      
101/tcp hostname NIC Host Name Server
102/tcp iso-tsap ISO-TSAP Class 0
103/tcp gppitnp Genesis Point-to-Point Trans Net
104/tcp acr-nema ACR-NEMA Digital Imag. & Comm. 300
105/tcp cso CCSO name server protocol
105/tcp csnet-ns Mailbox Name Nameserver
106/tcp 3com-tsmux 3COM-TSMUX
107/tcp rtelnet Remote Telnet Service
108/tcp snagas SNA Gateway Access Server
109/tcp pop2 Post Office Protocol - Version 2
110/tcp pop3 Post Office Protocol - Version 3
111/tcp sunrpc SUN Remote Procedure Call
112/tcp mcidas McIDAS Data Transmission Protocol
113/tcp ident
114/tcp audionews Audio News Multicast
115/tcp sftp Simple File Transfer Protocol
116/tcp ansanotify ANSA REX Notify
117/tcp uucp-path UUCP Path Service
118/tcp sqlserv SQL Services
119/tcp nntp Network News Transfer Protocol
120/tcp cfdptkt CFDPTKT
121/tcp erpc Encore Expedited Remote Pro.Call
122/tcp smakynet SMAKYNET
123/tcp ntp Network Time Protocol
124/tcp ansatrader ANSA REX Trader
125/tcp locus-map Locus PC-Interface Net Map Ser
126/tcp unitary Unisys Unitary Login
127/tcp locus-con Locus PC-Interface Conn Server
128/tcp gss-xlicen GSS X License Verification
129/tcp pwdgen Password Generator Protocol
130/tcp cisco-fna cisco FNATIVE
131/tcp cisco-tna cisco TNATIVE
132/tcp cisco-sys cisco SYSMAINT
133/tcp statsrv Statistics Service
134/tcp ingres-net INGRES-NET Service
135/tcp epmap DCE endpoint resolution
136/tcp profile PROFILE Naming System
137/tcp netbios-ns NETBIOS Name Service
138/tcp netbios-dgm NETBIOS Datagram Service
139/tcp netbios-ssn NETBIOS Session Service
140/tcp emfis-data EMFIS Data Service
141/tcp emfis-cntl EMFIS Control Service
142/tcp bl-idm Britton-Lee IDM
143/tcp imap Internet Message Access Protocol
144/tcp uma Universal Management Architecture
145/tcp uaac UAAC Protocol
146/tcp iso-tp0 ISO-IP0
147/tcp iso-ip ISO-IP
148/tcp jargon Jargon
149/tcp aed-512 AED 512 Emulation Service
150/tcp sql-net SQL-NET
151/tcp hems HEMS
152/tcp bftp Background File Transfer Program
153/tcp sgmp SGMP
154/tcp netsc-prod NETSC
155/tcp netsc-dev NETSC
156/tcp sqlsrv SQL Service
157/tcp knet-cmp KNET/VM Command/Message Protocol
158/tcp pcmail-srv PCMail Server
159/tcp nss-routing NSS-Routing
160/tcp sgmp-traps SGMP-TRAPS
161/tcp snmp SNMP
162/tcp snmptrap SNMPTRAP
163/tcp cmip-man CMIP/TCP Manager
164/tcp cmip-agent CMIP/TCP Agent
165/tcp xns-courier Xerox
166/tcp s-net Sirius Systems
167/tcp namp NAMP
168/tcp rsvd RSVD
169/tcp send SEND
170/tcp print-srv Network PostScript
171/tcp multiplex Network Innovations Multiplex
172/tcp cl/1 Network Innovations CL/1
173/tcp xyplex-mux Xyplex
174/tcp mailq MAILQ
175/tcp vmnet VMNET
176/tcp genrad-mux GENRAD-MUX
177/tcp xdmcp X Display Manager Control Protocol
178/tcp nextstep NextStep Window Server
179/tcp bgp Border Gateway Protocol
180/tcp ris Intergraph
181/tcp unify Unify
182/tcp audit Unisys Audit SITP
183/tcp ocbinder OCBinder
184/tcp ocserver OCServer
185/tcp remote-kis Remote-KIS
186/tcp kis KIS Protocol
187/tcp aci Application Communication Interface
188/tcp mumps Plus Five磗 MUMPS
189/tcp qft Queued File Transport
190/tcp gacp Gateway Access Control Protocol
191/tcp prospero Prospero Directory Service
192/tcp osu-nms OSU Network Monitoring System
193/tcp srmp Spider Remote Monitoring Protocol
194/tcp irc Internet Relay Chat Protocol
195/tcp dn6-nlm-aud DNSIX Network Level Module Audit
196/tcp dn6-smm-red DNSIX Session Mgt Module Audit Redir
197/tcp dls Directory Location Service
198/tcp dls-mon Directory Location Service Monitor
199/tcp smux SMUX
200/tcp src IBM System Resource Controller
201/tcp at-rtmp AppleTalk Routing Maintenance
202/tcp at-nbp AppleTalk Name Binding
203/tcp at-3 AppleTalk Unused
204/tcp at-echo AppleTalk Echo
205/tcp at-5 AppleTalk Unused
206/tcp at-zis AppleTalk Zone Information
207/tcp at-7 AppleTalk Unused
208/tcp at-8 AppleTalk Unused
209/tcp qmtp The Quick Mail Transfer Protocol
210/tcp z39.50 ANSI Z39.50
211/tcp 914c/g Texas Instruments 914C/G Terminal
212/tcp anet ATEXSSTR
214/tcp vmpwscs VM PWSCS
215/tcp softpc Insignia Solutions
216/tcp CAIlic Computer Associates Int磍 License Server
217/tcp dbase dBASE Unix
218/tcp mpp Netix Message Posting Protocol
219/tcp uarps Unisys ARPs
220/tcp imap3 Interactive Mail Access Protocol v3
221/tcp fln-spx Berkeley rlogind with SPX auth
222/tcp rsh-spx Berkeley rshd with SPX auth
223/tcp cdc Certificate Distribution Center
242/tcp direct Direct
243/tcp sur-meas Survey Measurement
244/tcp dayna Dayna
245/tcp link LINK
246/tcp dsp3270 Display Systems Protocol
247/tcp subntbcst_tftp SUBNTBCST_TFTP
248/tcp bhfhs bhfhs
256/tcp rap RAP
257/tcp set Secure Electronic Transaction
258/tcp yak-chat Yak Winsock Personal Chat
259/tcp esro-gen Efficient Short Remote Operations
260/tcp openport Openport
263/tcp hdap HDAP
264/tcp bgmp BGMP
280/tcp http-mgmt http-mgmt
309/tcp entrusttime EntrustTime
310/tcp bhmds bhmds
312/tcp vslmp VSLMP
315/tcp dpsi DPSI
316/tcp decauth decAuth
317/tcp zannet Zannet
321/tcp pip PIP
344/tcp pdap Prospero Data Access Protocol
345/tcp pawserv Perf Analysis Workbench
346/tcp zserv Zebra server
347/tcp fatserv Fatmen Server
348/tcp csi-sgwp Cabletron Management Protocol
349/tcp mftp mftp
351/tcp matip-type-b MATIP Type B
351/tcp bhoetty bhoetty (added 5/21/97)
353/tcp ndsauth NDSAUTH
354/tcp bh611 bh611
357/tcp bhevent bhevent
362/tcp srssend SRS Send
365/tcp dtk DTK
366/tcp odmr ODMR
368/tcp qbikgdp QbikGDP
371/tcp clearcase Clearcase
372/tcp ulistproc ListProcessor
373/tcp legent-1 Legent Corporation
374/tcp legent-2
__________________________________________________________
以下是bingtang补充:
0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

  1 tcpmux 这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,缺省情况下tcpmux在这种系统中被打开。Iris机器在发布时含有几个缺省的无密码的帐户, 如lp, guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux并利用这些帐户。

  7 Echo 你能看到许多人们搜索Fraggle放大器时,发送到x.x.x.0和x.x.x.255的信息。常见的一种DoS攻击是echo循环(echo- loop),攻击者伪造从一个机器发送到另一个机器的UDP数据包,而两个机器分别以它们最快的方式回应这些数据包。另一种东西是由 DoubleClick在词端口建立的TCP连接。有一种产品叫做“Resonate Global Dispatch”,它与DNS的这一端口连接以确定最近的路由。Harvest/squid cache将从3130端口发送UDP echo:“如果将cache的source_ping on选项打开,它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。

  11 sysstat 这是一种UNIX服务,它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全,如暴露已知某些弱点或帐 户的程序。这与UNIX系统中“ps”命令的结果相似。再说一遍:ICMP没有端口,ICMP port 11通常是ICMP type=11。

  19 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时,会发送含有垃圾字符的数据流知道连接关闭。 Hacker利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。由于服务器企图回应两个服务器之间的无限的往返数据通讯一个 chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。

  21 ftp 最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或Crackers 利用这些服务器作为传送warez (私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。

  22 ssh PcAnywhere 建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点。如果配置成特定的模式,许多使用RSAREF库的版本有不少漏洞。(建议在其它端 口运行ssh)。还应该注意的是ssh工具包带有一个称为make-ssh-known-hosts的程序。它会扫描整个域的ssh主机。你有时会被使用 这一程序的人无意中扫描到。UDP(而不是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632(十六进制的 0x1600)位交换后是0x0016(使进制的22)。

  23 Telnet 入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其它技术,入侵者会找到密码。

  25 smtp 攻击者(spammer)寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总被关闭,他们需要拨号连接到高带宽的e-mail服务器上,将简单 的信息传递到不同的地址。SMTP服务器(尤其是sendmail)是进入系统的最常用方法之一,因为它们必须完整的暴露于Internet且邮件的路由 是复杂的(暴露+复杂=弱点)。

  53 DNS Hacker或crackers可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其它通讯。因此防火墙常常过滤或记录53端口。需要注意的 是你常会看到53端口做为UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方法穿透防火墙。

  67&68 Bootp和DHCP UDP上的Bootp/DHCP:通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机 器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的“中间人”(man-in-middle) 攻击。客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的 IP地址。

  69 TFTP(UDP) 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件,如密码文件。它们也可用于向系统写入文件。

  79 finger Hacker用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其它机器finger扫描。

  98 linuxconf 这个程序提供linux boxen的简单管理。通过整合的HTTP服务器在98端口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuid root,信任局域网,在/tmp下建立Internet可访问的文件,LANG环境变量有缓冲区溢出。此外因为它包含整合的服务器,许多典型的HTTP 漏洞可能存在(缓冲区溢出,历遍目录等)

  109 POP2 并不象POP3那样有名,但许多服务器同时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在。

  110 POP3 用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个(这意味着Hacker可以在真正登陆前进入系统)。成功登陆后还有其它缓冲区溢出错误。

  111 sunrpc portmap rpcbind Sun RPC PortMapper/RPCBIND。访问portmapper是扫描系统查看允许哪些RPC服务的最早的一步。常见RPC服务有: rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供服务的特定端口测试漏洞。记住一定要记录线路中的daemon, IDS, 或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。

  113 Ident auth 这是一个许多机器上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多机器的信息(会被Hacker利用)。但是它可作为许多服务的 记录器,尤其是FTP, POP, IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,你将会看到许多这个端口的连接请求。记住,如果你阻断这个端口客户端会感觉到在防火 墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回RST,着将回停止这一缓慢的连接。

  119 NNTP news 新闻组传输协议,承载USENET通讯。当你链接到诸如:news://comp.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻 组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam。

  135 oc-serv MS RPC end-point mapper Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和/或RPC的服务利用机器上的end-point mapper注册它们的位置。远端客户连接到机器时,它们查询end-point mapper找到服务的位置。同样Hacker扫描机器的这个端口是为了找到诸如:这个机器上运行Exchange Server吗?是什么版本?这个端口除了被用来查询服务(如使用epdump)还可以被用于直接攻击。有一些DoS攻击直接针对这个端口。

  137 NetBIOS name service nbtstat (UDP) 这是防火墙管理员最常见的信息。

  139 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows“文件和打印机共享”和SAMBA。在Internet上共享 自己的硬盘是可能是最常见的问题。大量针对这一端口始于1999,后来逐渐变少。2000年又有回升。一些VBS(IE5 VisualBasic Scripting)开始将它们自己拷贝到这个端口,试图在这个端口繁殖。

  143 IMAP 和上面POP3的安全问题一样,许多IMAP服务器有缓冲区溢出漏洞运行登陆过程中进入。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁 殖,因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后,这些漏洞变得流行起来。 Morris蠕虫以后这还是第一次广泛传播的蠕虫。这一端口还被用于IMAP2,但并不流行。已有一些报道发现有些0到143端口的攻击源于脚本。

  161 SNMP(UDP) 入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息都储存在数据库中,通过SNMP客获得这些信息。许多管理员错误配置将它们暴露于 Internet。Crackers将试图使用缺省的密码“public”“private”访问系统。他们可能会试验所有可能的组合。SNMP包可能会 被错误的指向你的网络。Windows机器常会因为错误配置将HP JetDirect remote management软件使用SNMP。HP OBJECT IDENTIFIER将收到SNMP包。新版的Win98使用SNMP解析域名,你会看见这种包在子网内广播(cable modem, DSL)查询sysName和其它信息。

  162 SNMP trap 可能是由于错误配置

  177 xdmcp 许多Hacker通过它访问X-Windows控制台, 它同时需要打开6000端口。

  513 rwho 可能是从使用cable modem或DSL登陆到的子网中的UNIX机器发出的广播。这些人为Hacker进入他们的系统提供了很有趣的信息。

  553 CORBA IIOP (UDP) 如果你使用cable modem或DSL VLAN,你将会看到这个端口的广播。CORBA是一种面向对象的RPC(remote procedure call)系统。Hacker会利用这些信息进入系统。

  600 Pcserver backdoor 请查看1524端口。
一些玩script的孩子认为他们通过修改ingreslock和pcserver文件已经完全攻破了系统-- Alan J. Rosenthal.

  635 mountd Linux的mountd Bug。这是人们扫描的一个流行的Bug。大多数对这个端口的扫描是基于UDP的,但基于TCP的mountd有所增加(mountd同时运行于两个端 口)。记住,mountd可运行于任何端口(到底在哪个端口,需要在端口111做portmap查询),只是Linux默认为635端口,就象NFS通常 运行于2049端口。

  1024 许多人问这个端口是干什么的。它是动态端口的开始。许多程序并不在乎用哪个端口连接网络,它们请求操作系统为它们分配“下一个闲置端口”。基于这一点分配 从端口1024开始。这意味着第一个向系统请求分配动态端口的程序将被分配端口1024。为了验证这一点,你可以重启机器,打开Telnet,再打开一个 窗口运行“natstat -a”,你将会看到Telnet被分配1024端口。请求的程序越多,动态端口也越多。操作系统分配的端口将逐渐变大。再来一遍,当你浏览Web页时用 “netstat”查看,每个Web页需要一个新端口。
1025,1026 参见1024

  1080 SOCKS 这一协议以管道方式穿过防火墙,允许防火墙后面的许多人通过一个IP地址访问Internet。理论上它应该只允许内部的通信向外达到Internet。 但是由于错误的配置,它会允许Hacker/Cracker的位于防火墙外部的攻击穿过防火墙。或者简单地回应位于Internet上的计算机,从而掩饰 他们对你的直接攻击。WinGate是一种常见的Windows个人防火墙,常会发生上述的错误配置。在加入IRC聊天室时常会看到这种情况。

  1114 SQL 系统本身很少扫描这个端口,但常常是sscan脚本的一部分。

  1243 Sub-7木马(TCP)

  1524 ingreslock 后门许多攻击脚本将安装一个后门Shell于这个端口(尤其是那些针对Sun系统中sendmail和RPC服务漏洞的脚本,如statd, ttdbserver和cmsd)。如果你刚刚安装了你的防火墙就看到在这个端口上的连接企图,很可能是上述原因。你可以试试Telnet到你的机器上的 这个端口,看看它是否会给你一个Shell。连接到600/pcserver也存在这个问题。

  2049 NFS NFS程序常运行于这个端口。通常需要访问portmapper查询这个服务运行于哪个端口,但是大部分情况是安装后NFS运行于这个端口,Hacker/Cracker因而可以闭开portmapper直接测试这个端口。

  3128 squid 这是Squid HTTP代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问Internet。你也会看到搜索其它代理服务器的端口: 8000/8001/8080/8888。扫描这一端口的另一原因是:用户正在进入聊天室。其它用户(或服务器本身)也会检验这个端口以确定用户的机器是 否支持代理。

  5632 pcAnywere 你会看到很多这个端口的扫描,这依赖于你所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能得代理(译者:指agent而 不是proxy)。Hacker/cracker也会寻找开放这种服务的机器,所以应该查看这种扫描的源地址。一些搜寻pcAnywere的扫描常包含端 口22的UDP数据包。

  6776 Sub-7 artifact 这个端口是从Sub-7主端口分离出来的用于传送数据的端口。例如当控制者通过电话线控制另一台机器,而被控机器挂断时你将会看到这种情况。因此当另一人 以此IP拨入时,他们将会看到持续的,在这个端口的连接企图。(译者:即看到防火墙报告这一端口的连接企图时,并不表示你已被Sub-7控制。)

  6970 RealAudio RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP7070端口外向控制连接设置的。

  13223 PowWow PowWow 是Tribal Voice的聊天程序。它允许用户在此端口打开私人聊天的连接。这一程序对于建立连接非常具有“进攻性”。它会“驻扎”在这一TCP端口等待回应。这造成 类似心跳间隔的连接企图。如果你是一个拨号用户,从另一个聊天者手中“继承”了IP地址这种情况就会发生:好象很多不同的人在测试这一端口。这一协议使用 “OPNG”作为其连接企图的前四个字节。

  17027 Conducent 这是一个外向连接。这是由于公司内部有人安装了带有Conducent "adbot" 的共享软件。Conducent "adbot"是为共享软件显示广告服务的。使用这种服务的一种流行的软件是Pkware。有人试验:阻断这一外向连接不会有任何问题,但是封掉IP地址 本身将会导致adbots持续在每秒内试图连接多次而导致连接过载:
机器会不断试图解析DNS名—ads.conducent.com,即IP地址216.33.210.40 ;216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(译者:不知NetAnts使用的Radiate是否也有这种现象)

  27374 Sub-7木马(TCP)

  30100 NetSphere木马(TCP) 通常这一端口的扫描是为了寻找中了NetSphere木马。

  31337 Back Orifice “elite” Hacker中31337读做“elite”/ei’li:t/(译者:法语,译为中坚力量,精华。即3=E, 1=L, 7=T)。因此许多后门程序运行于这一端口。其中最有名的是Back Orifice。曾经一段时间内这是Internet上最常见的扫描。现在它的流行越来越少,其它的木马程序越来越流行。

  31789 Hack-a-tack 这一端口的UDP通讯通常是由于"Hack-a-tack"远程访问木马(RAT, Remote Access Trojan)。这种木马包含内置的31790端口扫描器,因此任何31789端口到317890端口的连接意味着已经有这种入侵。(31789端口是控 制连接,317890端口是文件传输连接)

  32770~32900 RPC服务 Sun Solaris的RPC服务在这一范围内。详细的说:早期版本的Solaris(2.5.1之前)将portmapper置于这一范围内,即使低端口被防 火墙封闭仍然允许Hacker/cracker访问这一端口。扫描这一范围内的端口不是为了寻找portmapper,就是为了寻找可被攻击的已知的 RPC服务。

  33434~33600 traceroute 如果你看到这一端口范围内的UDP数据包(且只在此范围之内)则可能是由于traceroute。参见本站相关部分。
374/tcp legent-2 Legent Corporation
375/tcp hassle Hassle
376/tcp nip Amiga Envoy Network Inquiry Proto
377/tcp tnETOS NEC Corporation
378/tcp dsETOS NEC Corporation
379/tcp is99c TIA/EIA/IS-99 modem client
380/tcp is99s TIA/EIA/IS-99 modem server
381/tcp hp-collector hp performance data collector
383/tcp hp-alarm-mgr hp performance data alarm manager
384/tcp arns A Remote Network Server System
385/tcp ibm-app IBM Application
386/tcp asa ASA Message Router Object Def.
387/tcp aurp Appletalk Update-Based Routing Pro.
388/tcp unidata-ldm Unidata LDM Version 4
389/tcp ldap Lightweight Directory Access Protocol
390/tcp uis UIS
391/tcp synotics-relay SynOptics SNMP Relay Port
393/tcp dis Data Interpretation System
394/tcp embl-ndt EMBL Nucleic Data Transfer
395/tcp netcp NETscout Control Protocol
396/tcp netware-ip Novell Netware over IP
397/tcp mptn Multi Protocol Trans. Net.
398/tcp kryptolan Kryptolan
399/tcp iso-tsap-c2 ISO Transport Class 2 Non-Control over TCP
400/tcp work-sol Workstation Solutions
401/tcp ups Uninterruptible Power Supply
402/tcp genie Genie Protocol
403/tcp decap decap
404/tcp nced nced
405/tcp ncld ncld
406/tcp imsp Interactive Mail Support Protocol
407/tcp timbuktu Timbuktu
408/tcp prm-sm Prospero Resource Manager Sys. Man.
409/tcp prm-nm Prospero Resource Manager Node Man.
410/tcp decladebug DECLadebug Remote Debug Protocol
411/tcp rmt Remote MT Protocol
412/tcp synoptics-trap Trap Convention Port
413/tcp smsp SMSP
414/tcp infoseek InfoSeek
415/tcp bnet BNet
416/tcp silverplatter Silverplatter
417/tcp onmux Onmux
418/tcp hyper-g Hyper-G
419/tcp ariel1 Ariel
420/tcp smpte SMPTE
421/tcp ariel2 Ariel
422/tcp ariel3 Ariel
423/tcp opc-job-start IBM Operations Planning and Control Start
424/tcp opc-job-track IBM Operations Planning and Control Track
425/tcp icad-el ICAD
426/tcp smartsdp smartsdp
427/tcp svrloc Server Location
428/tcp ocs_cmu OCS_CMU
429/tcp ocs_amu OCS_AMU
430/tcp utmpsd UTMPSD
431/tcp utmpcd UTMPCD
432/tcp iasd IASD
433/tcp nnsp NNSP
434/tcp mobileip-agent MobileIP-Agent
435/tcp mobilip-mn MobilIP-MN
436/tcp dna-cml DNA-CML
437/tcp comscm comscm
438/tcp dsfgw dsfgw
439/tcp dasp dasp Thomas Obermair
440/tcp sgcp sgcp
441/tcp decvms-sysmgt decvms-sysmgt
442/tcp cvc_hostd cvc_hostd
443/tcp https http protocol over TLS/SSL
444/tcp snpp Simple Network Paging Protocol
445/tcp microsoft-ds Microsoft-DS
446/tcp ddm-rdb DDM-RDB
447/tcp ddm-dfm DDM-RFM
448/tcp ddm-ssl DDM-SSL
449/tcp as-servermap AS Server Mapper
450/tcp tserver TServer
451/tcp sfs-smp-net Cray Network Semaphore server
453/tcp creativeserver CreativeServer
454/tcp contentserver ContentServer
455/tcp creativepartnr CreativePartnr
456/tcp macon-tcp macon-tcp
457/tcp scohelp scohelp
458/tcp appleqtc apple quick time
459/tcp ampr-rcmd ampr-rcmd
460/tcp skronk skronk
461/tcp datasurfsrv DataRampSrv
462/tcp datasurfsrvsec DataRampSrvSec
463/tcp alpes alpes
464/tcp kpasswd kpasswd
465/tcp smtps smtp protocol over TLS/SSL (was ssmtp)
466/tcp digital-vrc digital-vrc
467/tcp mylex-mapd mylex-mapd
468/tcp photuris proturis
469/tcp rcp Radio Control Protocol
470/tcp scx-proxy scx-proxy
471/tcp mondex Mondex
472/tcp ljk-login ljk-login
473/tcp hybrid-pop hybrid-pop
474/tcp tn-tl-w1 tn-tl-w1
475/tcp tcpnethaspsrv tcpnethaspsrv
476/tcp tn-tl-fd1 tn-tl-fd1
477/tcp ss7ns ss7ns
478/tcp spsc spsc
479/tcp iafserver iafserver
480/tcp iafdbase iafdbase
481/tcp ph Ph service
482/tcp bgs-nsi bgs-nsi
483/tcp ulpnet ulpnet
484/tcp integra-sme Integra Software Management Environment
485/tcp powerburst Air Soft Power Burst
486/tcp avian avian
487/tcp saft saft Simple Asynchronous File Transfer
488/tcp gss-http gss-http
489/tcp nest-protocol nest-protocol
490/tcp micom-pfs micom-pfs
491/tcp go-login go-login
492/tcp ticf-1 Transport Independent Convergence for FNA
493/tcp ticf-2 Transport Independent Convergence for FNA
494/tcp pov-ray POV-Ray
495/tcp intecourier intecourier
496/tcp pim-rp-disc PIM-RP-DISC
497/tcp dantz dantz
498/tcp siam siam
499/tcp iso-ill ISO ILL Protocol
500/tcp isakmp isakmp
501/tcp stmf STMF
502/tcp asa-appl-proto asa-appl-proto
503/tcp intrinsa Intrinsa
504/tcp citadel citadel
505/tcp mailbox-lm mailbox-lm
506/tcp ohimsrv ohimsrv
507/tcp crs crs
508/tcp xvttp xvttp
509/tcp snare snare
510/tcp fcp FirstClass Protocol
511/tcp passgo PassGo
512/tcp exec remote process execution;
513/tcp login remote login a la telnet;
514/tcp shell cmd
515/tcp printer spooler
516/tcp videotex videotex
517/tcp talk like tenex link, but across
518/tcp ntalk
519/tcp utime unixtime
520/tcp efs extended file name server
521/tcp ripng ripng
522/tcp ulp ULP
523/tcp ibm-db2 IBM-DB2
524/tcp ncp NCP
525/tcp timed timeserver
526/tcp tempo newdate
527/tcp stx Stock IXChange
528/tcp custix Customer IXChange
529/tcp irc-serv IRC-SERV
530/tcp courier rpc
531/tcp conference chat
532/tcp netnews readnews
533/tcp netwall for emergency broadcasts
534/tcp mm-admin MegaMedia Admin
535/tcp iiop iiop
536/tcp opalis-rdv opalis-rdv
537/tcp nmsp Networked Media Streaming Protocol
538/tcp gdomap gdomap
539/tcp apertus-ldp Apertus Technologies Load Determination
540/tcp uucp uucpd
541/tcp uucp-rlogin uucp-rlogin
542/tcp commerce commerce
543/tcp klogin
544/tcp kshell krcmd
545/tcp appleqtcsrvr appleqtcsrvr
546/tcp dhcpv6-client DHCPv6 Client
547/tcp dhcpv6-server DHCPv6 Server
548/tcp afpovertcp AFP over TCP
549/tcp idfp IDFP
550/tcp new-rwho new-who
551/tcp cybercash cybercash
552/tcp deviceshare deviceshare
553/tcp pirp pirp
554/tcp rtsp Real Time Stream Control Protocol
555/tcp dsf
556/tcp remotefs rfs server
557/tcp openvms-sysipc openvms-sysipc
558/tcp sdnskmp SDNSKMP
559/tcp teedtap TEEDTAP
560/tcp rmonitor rmonitord
561/tcp monitor
562/tcp chshell chcmd
563/tcp nntps nntp protocol over TLS/SSL (was snntp)
564/tcp 9pfs plan 9 file service
565/tcp whoami whoami
566/tcp streettalk streettalk
567/tcp banyan-rpc banyan-rpc
568/tcp ms-shuttle microsoft shuttle
569/tcp ms-rome microsoft rome
570/tcp meter demon
571/tcp meter udemon
572/tcp sonar sonar
573/tcp banyan-vip banyan-vip
574/tcp ftp-agent FTP Software Agent System
575/tcp vemmi VEMMI
576/tcp ipcd ipcd
577/tcp vnas vnas
578/tcp ipdd ipdd
579/tcp decbsrv decbsrv
581/tcp bdp Bundle Discovery Protocol
588/tcp cal CAL
589/tcp eyelink EyeLink
590/tcp tns-cml TNS CML
593/tcp http-rpc-epmap HTTP RPC Ep Map
594/tcp tpip TPIP
596/tcp smsd SMSD
599/tcp acp Aeolon Core Protocol
600/tcp ipcserver Sun IPC server
606/tcp urm Cray Unified Resource Manager
607/tcp nqs nqs
608/tcp sift-uft Sender-Initiated/Unsolicited File Transfer
609/tcp npmp-trap npmp-trap
610/tcp npmp-local npmp-local
611/tcp npmp-gui npmp-gui
613/tcp hmmp-op HMMP Operation
620/tcp sco-websrvrmgr SCO WebServer Manager
621/tcp escp-ip ESCP
625/tcp dec_dlm DEC DLM
626/tcp asia ASIA
628/tcp qmqp QMQP
630/tcp rda RDA
631/tcp ipp IPP (Internet Printing Protocol)
632/tcp bmpp bmpp
634/tcp ginad ginad
635/tcp rlzdbase RLZ DBase
636/tcp ldaps ldap protocol over TLS/SSL (was sldap)
637/tcp lanserver lanserver
639/tcp msdp MSDP
666/tcp doom doom Id Software
667/tcp disclose campaign contribution disclosures - SDR Technologies
668/tcp mecomm MeComm
669/tcp meregister MeRegister
670/tcp vacdsm-sws VACDSM-SWS
671/tcp vacdsm-app VACDSM-APP
672/tcp vpps-qua VPPS-QUA
673/tcp cimplex CIMPLEX
674/tcp acap ACAP
675/tcp dctp DCTP
704/tcp elcsd errlog copy/server daemon
705/tcp agentx AgentX
709/tcp entrust-kmsh Entrust Key Management Service Handler
710/tcp entrust-ash Entrust Administration Service Handler
729/tcp netviewdm1 IBM NetView DM/6000 Server/Client
730/tcp netviewdm2 IBM NetView DM/6000 send/tcp
731/tcp netviewdm3 IBM NetView DM/6000 receive/tcp
741/tcp netgw netGW
742/tcp netrcs Network based Rev. Cont. Sys.
744/tcp flexlm Flexible License Manager
747/tcp fujitsu-dev Fujitsu Device Control
748/tcp ris-cm Russell Info Sci Calendar Manager
749/tcp kerberos-adm kerberos administration
750/tcp rfile
751/tcp pump
752/tcp qrh
753/tcp rrh
754/tcp tell send
758/tcp nlogin
759/tcp con
760/tcp ns
761/tcp rxe
762/tcp quotad
763/tcp cycleserv
764/tcp omserv
765/tcp webster
769/tcp vid
770/tcp cadlock
771/tcp rtip
772/tcp cycleserv2
773/tcp submit
774/tcp rpasswd
776/tcp wpages
780/tcp wpgs
786/tcp concert Concert
787/tcp qsc QSC
801/tcp device
873/tcp rsync rsync
886/tcp iclcnet-locate ICL coNETion locate server
887/tcp iclcnet_svinfo ICL coNETion server info
888/tcp accessbuilder AccessBuilder
900/tcp omginitialrefs OMG Initial Refs
911/tcp xact-backup xact-backup
990/tcp ftps ftp protocol, control, over TLS/SSL
991/tcp nas Netnews Administration System
992/tcp telnets telnet protocol over TLS/SSL
993/tcp imaps imap4 protocol over TLS/SSL
994/tcp ircs irc protocol over TLS/SSL
995/tcp pop3s pop3 protocol over TLS/SSL (was spop3)
996/tcp vsinet vsinet
997/tcp maitrd
998/tcp busboy
999/tcp garcon
1000/tcp cadlock
1010/tcp surf surf
1023/tcp Reserved Reserved
1030/tcp iad1 BBN IAD
1031/tcp iad2 BBN IAD
1032/tcp iad3 BBN IAD
1047/tcp neod1 Sun‘s NEO Object Request Broker
1048/tcp neod2 Sun‘s NEO Object Request Broker
1058/tcp nim nim
1059/tcp nimreg nimreg
1067/tcp instl_boots Installation Bootstrap Proto. Serv.
1068/tcp instl_bootc Installation Bootstrap Proto. Cli.
1080/tcp socks Socks
1083/tcp ansoft-lm-1 Anasoft License Manager
1084/tcp ansoft-lm-2 Anasoft License Manager
1123/tcp murray Murray
1155/tcp nfa Network File Access
1212/tcp lupa lupa
1222/tcp nerv SNI R&D network
1239/tcp nmsd NMSD
1248/tcp hermes
1313/tcp bmc_patroldb BMC_PATROLDB
1314/tcp pdps Photoscript Distributed Printing System
1321/tcp pip PIP
1345/tcp vpjp VPJP
1346/tcp alta-ana-lm Alta Analytics License Manager
1347/tcp bbn-mmc multi media conferencing
1348/tcp bbn-mmx multi media conferencing
1349/tcp sbook Registration Network Protocol
1350/tcp editbench Registration Network Protocol
1352/tcp lotusnote Lotus Note
1353/tcp relief Relief Consulting
1354/tcp rightbrain RightBrain Software
1355/tcp intuitive-edge Intuitive Edge
1356/tcp cuillamartin CuillaMartin Company
1357/tcp pegboard Electronic PegBoard
1358/tcp connlcli CONNLCLI
1359/tcp ftsrv FTSRV
1360/tcp mimer MIMER
1361/tcp linx LinX
1362/tcp timeflies TimeFlies
1363/tcp ndm-requester Network DataMover Requester
1364/tcp ndm-server Network DataMover Server
1365/tcp adapt-sna Network Software Associates
1366/tcp netware-csp Novell NetWare Comm Service Platform
1367/tcp dcs DCS
1368/tcp screencast ScreenCast
1369/tcp gv-us GlobalView to Unix Shell
1370/tcp us-gv Unix Shell to GlobalView
1371/tcp fc-cli Fujitsu Config Protocol
1372/tcp fc-ser Fujitsu Config Protocol
1373/tcp chromagrafx Chromagrafx
1374/tcp molly EPI Software Systems
1375/tcp bytex Bytex
1376/tcp ibm-pps IBM Person to Person Software
1377/tcp cichlid Cichlid License Manager
1378/tcp elan Elan License Manager
1379/tcp dbreporter Integrity Solutions
1380/tcp telesis-licman Telesis Network License Manager
1381/tcp apple-licman Apple Network License Manager
1382/tcp udt_os
1383/tcp gwha GW Hannaway Network License Manager
1384/tcp os-licman Objective Solutions License Manager
1385/tcp atex_elmd Atex Publishing License Manager
1386/tcp checksum CheckSum License Manager
1387/tcp cadsi-lm Computer Aided Design Software Inc LM
1388/tcp objective-dbc Objective Solutions DataBase Cache
1389/tcp iclpv-dm document.nbspManager
1390/tcp iclpv-sc Storage Controller
1391/tcp iclpv-sas Storage Access Server
1392/tcp iclpv-pm Print Manager
1393/tcp iclpv-nls Network Log Server
1394/tcp iclpv-nlc Network Log Client
1395/tcp iclpv-wsm PC Workstation Manager software
1396/tcp dvl-activemail DVL Active Mail
1399/tcp cadkey-licman Cadkey License Manager
1400/tcp cadkey-tablet Cadkey Tablet Daemon
1402/tcp prm-sm-np Prospero Resource Manager
1403/tcp prm-nm-np Prospero Resource Manager
1404/tcp igi-lm Infinite Graphics License Manager
1405/tcp ibm-res IBM Remote Execution Starter
1406/tcp netlabs-lm NetLabs License Manager
1407/tcp dbsa-lm DBSA License Manager
1408/tcp sophia-lm Sophia License Manager
1409/tcp here-lm Here License Manager
1410/tcp hiq HiQ License Manager
1411/tcp af AudioFile
1412/tcp innosys InnoSys
1413/tcp innosys-acl Innosys-ACL
1414/tcp ibm-mqseries IBM MQSeries
1415/tcp dbstar DBStar
1416/tcp novell-lu6.2 Novell LU6.2
1417/tcp timbuktu-srv1 Timbuktu Service 1 Port
1418/tcp timbuktu-srv2 Timbuktu Service 2 Port
1419/tcp timbuktu-srv3 Timbuktu Service 3 Port
1420/tcp timbuktu-srv4 Timbuktu Service 4 Port
1421/tcp gandalf-lm Gandalf License Manager
1422/tcp autodesk-lm Autodesk License Manager
1423/tcp essbase Essbase Arbor Software
1424/tcp hybrid Hybrid Encryption Protocol
1425/tcp zion-lm Zion Software License Manager
1426/tcp sais Satellite-data Acquisition System 1
1427/tcp mloadd mloadd monitoring tool
1428/tcp informatik-lm Informatik License Manager
1429/tcp nms Hypercom NMS
1430/tcp tpdu Hypercom TPDU
1431/tcp rgtp Reverse Gossip Transport
1432/tcp blueberry-lm Blueberry Software License Manager
1433/tcp ms-sql-s Microsoft-SQL-Server
1434/tcp ms-sql-m Microsoft-SQL-Monitor
1435/tcp ibm-cics IBM CICS
1436/tcp saism Satellite-data Acquisition System 2
1437/tcp tabula Tabula
1438/tcp eicon-server Eicon Security Agent/Server
1439/tcp eicon-x25 Eicon X25/SNA Gateway
1440/tcp eicon-slp Eicon Service Location Protocol
1441/tcp cadis-1 Cadis License Management
1442/tcp cadis-2 Cadis License Management
1443/tcp ies-lm Integrated Engineering Software
1444/tcp marcam-lm Marcam License Management
1445/tcp proxima-lm Proxima License Manager
1446/tcp ora-lm Optical Research Associates License Manager
1447/tcp apri-lm Applied Parallel Research LM
1448/tcp oc-lm OpenConnect License Manager
1449/tcp peport PEport
1450/tcp dwf Tandem Distributed Workbench Facility
1451/tcp infoman IBM Information Management
1452/tcp gtegsc-lm GTE Government Systems License Man
1453/tcp genie-lm Genie License Manager
1454/tcp interhdl_elmd interHDL License Manager
1455/tcp esl-lm ESL License Manager
1456/tcp dca DCA
1457/tcp valisys-lm Valisys License Manager
1458/tcp nrcabq-lm Nichols Research Corp.
1459/tcp proshare1 Proshare Notebook Application
1460/tcp proshare2 Proshare Notebook Application
1461/tcp ibm_wrless_lan IBM Wireless LAN
1462/tcp world-lm World License Manager
1463/tcp nucleus Nucleus
1464/tcp msl_lmd MSL License Manager
1465/tcp pipes Pipes Platform
1466/tcp oceansoft-lm Ocean Software License Manager
1467/tcp csdmbase CSDMBASE
1468/tcp csdm CSDM
1469/tcp aal-lm Active Analysis Limited License Manager
1470/tcp uaiact Universal Analytics
1471/tcp csdmbase csdmbase
1472/tcp csdm csdm
1473/tcp openmath OpenMath
1474/tcp telefinder Telefinder
1475/tcp taligent-lm Taligent License Manager
1476/tcp clvm-cfg clvm-cfg
1477/tcp ms-sna-server ms-sna-server
1478/tcp ms-sna-base ms-sna-base
1479/tcp dberegister dberegister
1480/tcp pacerforum PacerForum
1481/tcp airs AIRS
1482/tcp miteksys-lm Miteksys License Manager
1483/tcp afs AFS License Manager
1484/tcp confluent Confluent License Manager
1485/tcp lansource LANSource
1486/tcp nms_topo_serv nms_topo_serv
1487/tcp localinfosrvr LocalInfoSrvr
1488/tcp docstor DocStor
1489/tcp dmdocbroker dmdocbroker
1490/tcp insitu-conf insitu-conf
1491/tcp anynetgateway anynetgateway
1492/tcp stone-design-1 stone-design-1
1493/tcp netmap_lm netmap_lm
1494/tcp ica ica
1495/tcp cvc cvc
1496/tcp liberty-lm liberty-lm
1497/tcp rfx-lm rfx-lm
1498/tcp sybase-sqlany Sybase SQL Any
1499/tcp fhc Federico Heinz Consultora
1500/tcp vlsi-lm VLSI License Manager
1501/tcp saiscm Satellite-data Acquisition System 3
1502/tcp shivadiscovery Shiva
1503/tcp imtc-mcs Databeam
1504/tcp evb-elm EVB Software Engineering License Manager
1505/tcp funkproxy Funk Software, Inc.
1506/tcp utcd Universal Time daemon (utcd)
1507/tcp symplex symplex
1508/tcp diagmond diagmond
1509/tcp robcad-lm Robcad, Ltd. License Manager
1510/tcp mvx-lm Midland Valley Exploration Ltd. Lic. Man.
1511/tcp 3l-l1 3l-l1
1512/tcp wins Microsoft‘s Windows Internet Name Service
1513/tcp fujitsu-dtc Fujitsu Systems Business of America, Inc
1514/tcp fujitsu-dtcns Fujitsu Systems Business of America, Inc
1515/tcp ifor-protocol ifor-protocol
1516/tcp vpad Virtual Places Audio data
1517/tcp vpac Virtual Places Audio control
1518/tcp vpvd Virtual Places Video data
1519/tcp vpvc Virtual Places Video control
1520/tcp atm-zip-office atm zip office
1521/tcp ncube-lm nCube License Manager
1522/tcp ricardo-lm Ricardo North America License Manager
1523/tcp cichild-lm cichild
1525/tcp orasrv oracle
1525/tcp prospero-np Prospero Directory Service non-priv
1526/tcp pdap-np Prospero Data Access Prot non-priv
1527/tcp tlisrv oracle
1528/tcp mciautoreg micautoreg
1529/tcp coauthor oracle
1530/tcp rap-service rap-service
1531/tcp rap-listen rap-listen
1532/tcp miroconnect miroconnect
1533/tcp virtual-places Virtual Places Software
1534/tcp micromuse-lm micromuse-lm
1535/tcp ampr-info ampr-info
1536/tcp ampr-inter ampr-inter
1537/tcp sdsc-lm isi-lm
1538/tcp 3ds-lm 3ds-lm
1539/tcp intellistor-lm Intellistor License Manager
1540/tcp rds rds
1541/tcp rds2 rds2
1542/tcp gridgen-elmd gridgen-elmd
1543/tcp simba-cs simba-cs
1544/tcp aspeclmd aspeclmd
1545/tcp vistium-share vistium-share
1546/tcp abbaccuray abbaccuray
1547/tcp laplink laplink
1548/tcp axon-lm Axon License Manager
1549/tcp shivahose Shiva Hose
1550/tcp 3m-image-lm Image Storage license manager 3M Company
1551/tcp hecmtl-db HECMTL-DB
1552/tcp pciarray pciarray
1553/tcp sna-cs sna-cs
1554/tcp caci-lm CACI Products Company License Manager
1555/tcp livelan livelan
1556/tcp ashwin AshWin CI Tecnologies
1557/tcp arbortext-lm ArborText License Manager
1558/tcp xingmpeg xingmpeg
1559/tcp web2host web2host
1560/tcp asci-val asci-val
1561/tcp facilityview facilityview
1562/tcp pconnectmgr pconnectmgr
1563/tcp cadabra-lm Cadabra License Manager
1564/tcp pay-per-view Pay-Per-View
1565/tcp winddlb WinDD
1566/tcp corelvideo CORELVIDEO
1567/tcp jlicelmd jlicelmd
1568/tcp tsspmap tsspmap
1569/tcp ets ets
1570/tcp orbixd orbixd
1571/tcp rdb-dbs-disp Oracle Remote Data Base
1572/tcp chip-lm Chipcom License Manager
1573/tcp itscomm-ns itscomm-ns
1574/tcp mvel-lm mvel-lm
1575/tcp oraclenames oraclenames
1576/tcp moldflow-lm moldflow-lm
1577/tcp hypercube-lm hypercube-lm
1578/tcp jacobus-lm Jacobus License Manager
1579/tcp ioc-sea-lm ioc-sea-lm
1580/tcp tn-tl-r1 tn-tl-r1
1581/tcp mil-2045-47001 MIL-2045-47001
1582/tcp msims MSIMS
1583/tcp simbaexpress simbaexpress
1584/tcp tn-tl-fd2 tn-tl-fd2
1585/tcp intv intv
1586/tcp ibm-abtact ibm-abtact
1587/tcp pra_elmd pra_elmd
1588/tcp triquest-lm triquest-lm
1589/tcp vqp VQP
1590/tcp gemini-lm gemini-lm
1591/tcp ncpm-pm ncpm-pm
1592/tcp commonspace commonspace
1593/tcp mainsoft-lm mainsoft-lm
1594/tcp sixtrak sixtrak
1595/tcp radio radio
1596/tcp radio-sm radio-sm
1597/tcp orbplus-iiop orbplus-iiop
1598/tcp picknfs picknfs
1599/tcp simbaservices simbaservices
1600/tcp issd
1601/tcp aas aas
1602/tcp inspect inspect
1603/tcp picodbc pickodbc
1604/tcp icabrowser icabrowser
1605/tcp slp Salutation Manager (Salutation Protocol)
1606/tcp slm-api Salutation Manager (SLM-API)
1607/tcp stt stt
1608/tcp smart-lm Smart Corp. License Manager
1609/tcp isysg-lm isysg-lm
1610/tcp taurus-wh taurus-wh
1611/tcp ill Inter Library Loan
1612/tcp netbill-trans NetBill Transaction Server
1613/tcp netbill-keyrep NetBill Key Repository
1614/tcp netbill-cred NetBill Credential Server
1615/tcp netbill-auth NetBill Authorization Server
1616/tcp netbill-prod NetBill Product Server
1617/tcp nimrod-agent Nimrod Inter-Agent Communication
1618/tcp skytelnet skytelnet
1619/tcp xs-openstorage xs-openstorage
1620/tcp faxportwinport faxportwinport
1621/tcp softdataphone softdataphone
1622/tcp ontime ontime
1623/tcp jaleosnd jaleosnd
1624/tcp udp-sr-port udp-sr-port
1625/tcp svs-omagent svs-omagent
1636/tcp cncp CableNet Control Protocol
1637/tcp cnap CableNet Admin Protocol
1638/tcp cnip CableNet Info Protocol
1639/tcp cert-initiator cert-initiator
1640/tcp cert-responder cert-responder
1641/tcp invision InVision
1642/tcp isis-am isis-am
1643/tcp isis-ambc isis-ambc
1645/tcp datametrics datametrics
1646/tcp sa-msg-port sa-msg-port
1647/tcp rsap rsap
1648/tcp concurrent-lm concurrent-lm
1649/tcp inspect inspect
1650/tcp nkd nkd
1651/tcp shiva_confsrvr shiva_confsrvr
1652/tcp xnmp xnmp
1653/tcp alphatech-lm alphatech-lm
1654/tcp stargatealerts stargatealerts
1655/tcp dec-mbadmin dec-mbadmin
1656/tcp dec-mbadmin-h dec-mbadmin-h
1657/tcp fujitsu-mmpdc fujitsu-mmpdc
1658/tcp sixnetudr sixnetudr
1659/tcp sg-lm Silicon Grail License Manager
1660/tcp skip-mc-gikreq skip-mc-gikreq
1661/tcp netview-aix-1 netview-aix-1
1662/tcp netview-aix-2 netview-aix-2
1663/tcp netview-aix-3 netview-aix-3
1664/tcp netview-aix-4 netview-aix-4
1665/tcp netview-aix-5 netview-aix-5
1666/tcp netview-aix-6 netview-aix-6
1667/tcp netview-aix-7 netview-aix-7
1668/tcp netview-aix-8 netview-aix-8
1669/tcp netview-aix-9 netview-aix-9
1670/tcp netview-aix-10 netview-aix-10
1671/tcp netview-aix-11 netview-aix-11
1672/tcp netview-aix-12 netview-aix-12
1673/tcp proshare-mc-1 Intel Proshare Multicast
1674/tcp proshare-mc-2 Intel Proshare Multicast
1675/tcp pdp Pacific Data Products
1676/tcp netcomm1 netcomm1
1677/tcp groupwise groupwise
1678/tcp prolink prolink
1679/tcp darcorp-lm darcorp-lm
1681/tcp sd-elmd sd-elmd
1682/tcp lanyon-lantern lanyon-lantern
1683/tcp ncpm-hip ncpm-hip
1684/tcp snaresecure SnareSecure
1685/tcp n2nremote n2nremote
1686/tcp cvmon cvmon
1687/tcp nsjtp-ctrl nsjtp-ctrl
1688/tcp nsjtp-data nsjtp-data
1689/tcp firefox firefox
1690/tcp ng-umds ng-umds
1691/tcp empire-empuma empire-empuma
1692/tcp sstsys-lm sstsys-lm
1693/tcp rrirtr rrirtr
1694/tcp rrimwm rrimwm
1695/tcp rrilwm rrilwm
1696/tcp rrifmm rrifmm
1697/tcp rrisat rrisat
1698/tcp rsvp-encap-1 RSVP-ENCAPSULATION-1
1699/tcp rsvp-encap-2 RSVP-ENCAPSULATION-2
1700/tcp mps-raft mps-raft
1701/tcp l2f,l2tp l2f,l2tp
1702/tcp deskshare deskshare
1703/tcp hb-engine hb-engine
1704/tcp bcs-broker bcs-broker
1705/tcp slingshot slingshot
1706/tcp jetform jetform
1707/tcp vdmplay vdmplay
1708/tcp gat-lmd gat-lmd
1709/tcp centra centra
1710/tcp impera impera
1711/tcp pptconference pptconference
1712/tcp registrar resource monitoring service
1713/tcp conferencetalk ConferenceTalk
1714/tcp sesi-lm sesi-lm
1715/tcp houdini-lm houdini-lm
1716/tcp xmsg xmsg
1717/tcp fj-hdnet fj-hdnet
1718/tcp h323gatedisc h323gatedisc
1719/tcp h323gatestat h323gatestat
1720/tcp h323hostcall h323hostcall
1721/tcp caicci caicci
1722/tcp hks-lm HKS License Manager
1723/tcp pptp pptp
1724/tcp csbphonemaster csbphonemaster
1725/tcp iden-ralp iden-ralp
1726/tcp iberiagames IBERIAGAMES
1727/tcp winddx winddx
1728/tcp telindus TELINDUS
1729/tcp citynl CityNL License Management
1730/tcp roketz roketz
1731/tcp msiccp MSICCP
1732/tcp proxim proxim
1733/tcp siipat SIMS - SIIPAT Protocol for Alarm Transmission
1734/tcp cambertx-lm Camber Corporation License Management
1735/tcp privatechat PrivateChat
1736/tcp street-stream street-stream
1737/tcp ultimad ultimad
1738/tcp gamegen1 GameGen1
1739/tcp webaccess webaccess
1740/tcp encore encore
1741/tcp cisco-net-mgmt cisco-net-mgmt
1742/tcp 3Com-nsd 3Com-nsd
1743/tcp cinegrfx-lm Cinema Graphics License Manager
1744/tcp ncpm-ft ncpm-ft
1745/tcp remote-winsock remote-winsock
1746/tcp ftrapid-1 ftrapid-1
1747/tcp ftrapid-2 ftrapid-2
1748/tcp oracle-em1 oracle-em1
1749/tcp aspen-services aspen-services
1750/tcp sslp Simple Socket Library‘s PortMaster
1751/tcp swiftnet SwiftNet
1752/tcp lofr-lm Leap of Faith Research License Manager
1753/tcp translogic-lm Translogic License Manager
1754/tcp oracle-em2 oracle-em2
1755/tcp ms-streaming ms-streaming
1756/tcp capfast-lmd capfast-lmd
1757/tcp cnhrp cnhrp
1758/tcp tftp-mcast tftp-mcast
1759/tcp spss-lm SPSS License Manager
1760/tcp www-ldap-gw www-ldap-gw
1761/tcp cft-0 cft-0
1762/tcp cft-1 cft-1
1763/tcp cft-2 cft-2
1764/tcp cft-3 cft-3
1765/tcp cft-4 cft-4
1766/tcp cft-5 cft-5
1767/tcp cft-6 cft-6
1768/tcp cft-7 cft-7

阅读全文

2008年9月19日

常用数列求和公式

下面是一些常用的数列求和公式,编程的时候可能会用到,比如写一些算法的时候,需要的时候可以查一下。

1. 1+2+3+......+n=n(n+1)/2
2. 1^2+2^2+3^2+......+n^2=n(n+1)(2n+1)/6
3. 1^3+2^3+3^3+......+n^3=( 1+2+3+......+n)^2=n^2*(n+1)^2/4
4. 1*2+2*3+3*4+......+n(n+1)=n(n+1)(n+2)/3
5. 1*2*3+2*3*4+3*4*5+......+n(n+1)(n+2)=n(n+1)(n+2)(n+3)/4

6. 1+3+6+10+15+......
=1+(1+2)+(1+2+3)+(1+2+3+4)+......+(1+2+3+...+n)
=[1*2+2*3+3*4+......+n(n+1)]/2
=n(n+1)(n+2)/6

7. 1+2+4+7+11+......+ n
=1+(1+1)+(1+1+2)+(1+1+2+3)+......+(1+1+2+3+...+n)
=(n+1)*1+[1*2+2*3+3*4+......+n(n+1)]/2
=(n+1)+n(n+1)(n+2)/6

8. 1/2+1/2*3+1/3*4+......+1/n(n+1)
=1-1/(n+1)=n/(n+1)

9. 1/(1+2)+1/(1+2+3)+1/(1+2+3+4)+......+1/(1+2+3+...+n)
= 2/2*3+2/3*4+2/4*5+......+2/n(n+1)=(n-1)/(n+1)
10. 1/1*2+2/2*3+3/2*3*4+......+(n-1)/2*3*4*...*n
=(2*3*4*...*n-1)/2*3*4*...*n

11. 1^2+3^2+5^2+..........(2n-1)^2=n(4n^2-1)/3
12. 1^3+3^3+5^3+..........(2n-1)^3=n^2(2n^2-1)
13. 1^4+2^4+3^4+..........+n^4=n(n+1)(2n+1)(3n^2+3n-1)/30
14. 1^5+2^5+3^5+..........+n^5=n^2 (n+1)^2 (2n^2+2n-1) /12

15. 1+2+2^2+2^3+......+2^n=2^(n+1) – 1


阅读全文

2008年9月18日

谷歌中国的开发者博客网隆重发布

Google 中国的博客网志: 谷歌中国的开发者博客网隆重发布

Google 最近发布了Google中国的开发者博客,除了丰富的技术和产品的参考资料,这个网站将会是许多前瞻性新型技术的社区中心。你将会看到许多人气旺盛的专门面向诸如地图(Maps),OpenSocial以及在接下来的几个月里将会推出的其它新技术讨论社区。请你来踊跃加入这里社区的讨论、与大家一起分享进行互相学习、传授知识和经验的快乐!

另外上面还有 Google 2008开发者日的一些讲座(有一些是中文的),很值的一看。


阅读全文

2008年9月11日

Fedora Updates 恢复更新服务

在8月底的时候, Red Hat 服务器被未知的攻击者非法入侵,Fedora也受到了类似的攻击。为此Fedroa官方停止了受影响的更新服务。

Fedroa的软件包近半个月来一直没有更新,按照往常的更新速度,应该至少两三天就会有更新,用户也会觉得有些奇怪吧。目前 Fedora 的软件更新服务已经恢复,建议用户立即进行升级。

因为Fedroa社区对软件包更改了用于签名的公钥,更新方法与以前略有不同:
1. 开始更新时会提示这些软件包有更新:fedora-release, PackageKit, gnome-packagekit,unique (Fedora 8只有fedora-release).
2.完成第一步后,再次执行更新,会发现有大量的软件包需要更新(我的系统有100多个软件包更新了,300多M)
此更新过程只对Fedora 9 和Fedora 8有效。

赶紧升级吧:)
阅读全文

2008年9月5日

构建linux版的chrome

来自: 译言

Chromium编译说明(Linux版)

此页描述如果在Linux操作系统上编译构建Chromium浏览器。假如你对测试chromium或想移植chromium到别的平台请你继续阅读。

提示:目前还没有在Linux运行的Chromium浏览器,虽然Chromium的部分子模块在linux编译过和一小部分的单位测试通过过,所有的那些也只是一条命令“all tests pass"执行了而已!


前提条件

注意:我们的想法是你可以在任一可适用的现代Linux发行版中编译构建Chromium,并且我们尝试尽全力列出系统编译前提条件。当然,请你能 忍受Linux移植还只处在开始阶段这一现实情况,而且我们在大多数的Linux发行版中测试是有限的.在Chromium内部,我们的开发平台是 Ubuntu8(hardy heron)的一个变种,我们希望你能在此系统平台中有个好运。

Linux平台需要以下软件方能编译构建:

  • Subversion >= 1.4(提示:假如你使用的是tarball(压缩包格式),很难关注代码的改动,你需要1.5版本,我们以后会修复它的)(译者:Subversion是一种比CVS高级的版本控制软件)
  • pkg-config >= 0.20 (译者:pkg-config是开发用的库配置工具)
  • Python >= 2.4 (译者:Python编程语言,此处指Python环境,工具)
  • Perl > 5.x
  • gcc/g++ >= 4.2
  • bison >= 2.3 (译者:GNU bison语法分析转换工具?)
  • flex >= 2.5.34
  • gperf >= 3.0.3
  • libnss3-dev >= 3.12

在Ubuntu8系统中,你可使用下面的命令一次得到所有的软件:

$ sudo apt-get install subversion pkg-config python perl g++ bison flex gperf libnss3-dev

获取代码

1.选择编译的目录.

我们将在此文档中称此目录为变量$CHROMIUM_ROOT.

2.获取代码库工具.

$cd $CHROMIUM_ROOT

$ svn co http://src.chromium.org/svn/trunk/depot_tools/linux depot_tools

(或,下载.tar.gz格式的压缩包文件:depot_tools_linux.tar.gz

为了保持此编译说明文档的独立完整,我们假设你的depot_tools目录在你的编译目录($CHROMIUM_ROOT)下,

但它不是必需这样,你可把它放置到任何地方,然后在你的PATH环境变量或其它变量中增加此路径,

3.因为很多人对此高度感兴趣导致我们的临时工作服务器不能访问,请试着下载从SVN中的代码快照,解压缩它,

并按照下的的指示升级更新代码,你将通过gclient同步工作得到相同的结果.

$ cd $CHROMIUM_ROO

$ export LANG=C # temp workaround for gclient behavior

$ ./depot_tools/gclient config http://src.chromium.org/svn/trunk/src

$ ./depot_tools/gclient sync

提示:默认的,运行gclient同步工具,depot_tools将会自动的将代码更新到最新版本(随时),

如果你想关掉此行为请查阅depot_tools文档页内容.

构建

编译构建当前的Chromium linux子集:

$ cd $CHROMIUM_ROOT/src/chrome
$ ../third_party/scons/scons.py Hammer

在编译后,可执行程序放置于$CHROMIUM_ROOT/src/chrome/Hammer 目录

问题处理

sh: d: not found while processing Hammer/webkit/WebCore/xml/XPathGrammar.y

你没有安装bison,我们正修补我们的编译脚本使用之更加易用和友好,但你读此文档时,我们的代码改变记录中还没有更新!


LinuxSong注:

我下载的代码更新后有2.5G,编译至少需要10G的空间,我本想自己编译一个,估计得花上1天的时间,代码太多了。还是等Google的Linux版本发布后再用吧:)


阅读全文

KDE 4.1.1 稳定版发布

来自: KDE中国
KDE社区发布了自由桌面环境KDE 4.1的第一个翻译与服务更新版本,它包括众多错误修正、性能改进以及翻译更新。

2008 年9月3日(INTERNET 时间),KDE 社区 发布了 KDE 4.1.1。它是KDE 4.1系列的第一个月度更新版本,其中包含了基本桌面组件与其它一些软件包,如系统管理程序、网络攻击、教学程序、附件、多媒体软件、游戏、美工扩展、网络开发工具等等。KDE这些广受赞誉的软件已经被翻译成50多种语言。

包括类库及程序在内的全套KDE发布允许在开源授权协议下自由分发。您可以在http://download.kde.org上下载KDE的源码包及二进制包,也可以通过CD-ROM或一些主要GNU/Linux与UNIX发行版来获取。

增强

我们的产品已经得到了众多开发者的大力投入,您可以参见这次的完整更新日志感受到这点,其中最值得注意的更改是:

  • 网络浏览器Konqueror及其所用的KHTML引擎在性能、交互性和渲染准确度上的重大强化
  • 桌面外壳Plasma在用户交互、渲染性能和稳定性上的修订
  • 文档查看器Okular的PDF后端修订
  • 图像查看器Gwenview在缩略图功能上的修订,并对元数据损坏的图像提供了更加健壮的检索和显示机制
  • 邮件客户端KMail在稳定性和交互性上的修正
KDE 4.1.1是个值得向每位拥有KDE 4.1.0的用户推荐的更新版,它将按月发布新版本,直到下一个重要的新发布问世,下一个重要版本KDE 4.2.0预计于来年一月发布。

Extragear

从KDE 4.0.0开始,Extragear程序套件也纳入了正式的KDE发行中。Extragear程序是指那些足够成熟,但不包含在任何其它KDE发布包内的软件。



阅读全文

2008年9月1日

linux中全屏方式连续执行命令

Linux 中有一个非常方便的命令 : watch,可以以全屏方式(无滚屏)在某个时间间隔连续执行一个命令。比如监视某个文件的变化情况,或者监视某个目录的大小等。
命令参数如下

watch [-dhvt] [-n ] [--differences[=cumulative]] [--help] [--interval=] [--no-title] [--version]

其中比较常用的有:
[-n ] 执行命令间隔的秒数
[-d] 高亮显示变化的内容(与上次执行时的比较)
[-d=cumulative] 高亮显示所有变化的内容
下面举几个例子
比如要查监视某个文件的变化情况,1秒更新一次:

$ watch -n 1 cat file

监视某个文件的大小变化情况,5秒更新一次:

$ watch -n 5 du -h file

以前在不知道这个命令时,总是按一下上箭头键再敲回车键:)
这个命令的用处非常多,如果你以前还没有用过,那么赶紧在你的机器上试验一下吧:)
阅读全文

C/C++字节对齐详解

一.什么是字节对齐,为什么要对齐?

现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。

对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那么一个读周期就可以读出这32bit,而如果存放在奇地址开始的地方,就需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该32bit数据。显然在读取效率上下降很多。


二.字节对齐对程序的影响:

先让我们看几个例子吧(32bit,x86环境,gcc编译器):
设结构体如下定义:

struct A
{
int a;
char b;
short c;
};

struct B
{
char b;
int a;
short c;
};

现在已知32位机器上各种数据类型的长度如下:
char:1(有符号无符号同)
short:2(有符号无符号同)
int:4(有符号无符号同)
long:4(有符号无符号同)
float:4 double:8
那么上面两个结构大小如何呢?
结果是:
sizeof(strcut A)值为8
sizeof(struct B)的值却是12

结构体A中包含了4字节长度的int一个,1字节长度的char一个和2字节长度的short型数据一个,B也一样;按理说A,B大小应该都是7字节。
之所以出现上面的结果是因为编译器要对数据成员在空间上进行对齐。上面是按照编译器的默认设置进行对齐的结果,那么我们是不是可以改变编译器的这种默认对齐设置呢,当然可以.例如:
#pragma pack (2) /*指定按2字节对齐*/
struct C
{
char b;
int a;
short c;
};
#pragma pack () /*取消指定对齐,恢复缺省对齐*/

sizeof(struct C)值是8。
修改对齐值为1:
#pragma pack (1) /*指定按1字节对齐*/
struct D
{
char b;
int a;
short c;
};
#pragma pack () /*取消指定对齐,恢复缺省对齐*/
sizeof(struct D)值为7。
后面我们再讲解#pragma pack()的作用.

三.编译器是按照什么样的原则进行对齐的?

先让我们看四个重要的基本概念:
1.数据类型自身的对齐值:
对于char型数据,其自身对齐值为1,对于short型为2,对于int,float,double类型,其自身对齐值为4,单位字节。
2.结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。
3.指定对齐值:#pragma pack (value)时的指定对齐值value。
4.数据成员、结构体和类的有效对齐值:自身对齐值和指定对齐值中小的那个值。
有了这些值,我们就可以很方便的来讨论具体数据结构的成员和其自身的对齐方式。有效对齐值N是最终用来决定数据存放地址方式的值,最重要。有效对齐N,就是表示“对齐在N上”,也就是说该数据的"存放起始地址%N=0".而数据结构中的数据变量都是按定义的先后顺序来排放的。第一个数据变量的起始地址就是数据结构的起始地址。结构体的成员变量要对齐排放,结构体本身也要根据自身的有效对齐值圆整(就是结构体成员变量占用总长度需要是对结构体有效对齐值的整数倍,结合下面例子理解)。这样就不能理解上面的几个例子的值了。
例子分析:
分析例子B:
struct B
{
char b;
int a;
short c;
};

假设B从地址空间0x0000开始排放。该例子中没有定义指定对齐值,在笔者环境下,该值默认为4。第一个成员变量b的自身对齐值是1,比指定或者默认指定对齐值4小,所以其有效对齐值为1,所以其存放地址0x0000符合0x0000%1=0.第二个成员变量a,其自身对齐值为4,所以有效对齐值也为4,所以只能存放在起始地址为0x0004到0x0007这四个连续的字节空间中,复核0x0004%4=0,且紧靠第一个变量。第三个变量c,自身对齐值为 2,所以有效对齐值也是2,可以存放在0x0008到0x0009这两个字节空间中,符合0x0008%2=0。所以从0x0000到0x0009存放的都是B内容。再看数据结构B的自身对齐值为其变量中最大对齐值(这里是b)所以就是4,所以结构体的有效对齐值也是4。根据结构体圆整的要求, 0x0009到0x0000=10字节,(10+2)%4=0。所以0x0000A到0x000B也为结构体B所占用。故B从0x0000到0x000B 共有12个字节,sizeof(struct B)=12;其实如果就这一个就来说它已将满足字节对齐了, 因为它的起始地址是0,因此肯定是对齐的,之所以在后面补充2个字节,是因为编译器为了实现结构数组的存取效率,试想如果我们定义了一个结构B的数组,那么第一个结构起始地址是0没有问题,但是第二个结构呢?按照数组的定义,数组中所有元素都是紧挨着的,如果我们不把结构的大小补充为4的整数倍,那么下一个结构的起始地址将是0x0000A,这显然不能满足结构的地址对齐了,因此我们要把结构补充成有效对齐大小的整数倍.其实诸如:对于char型数据,其自身对齐值为1,对于short型为2,对于int,float,double类型,其自身对齐值为4,这些已有类型的自身对齐值也是基于数组考虑的,只是因为这些类型的长度已知了,所以他们的自身对齐值也就已知了.
同理,分析上面例子C:

#pragma pack (2) /*指定按2字节对齐*/
struct C
{
char b;
int a;
short c;
};
#pragma pack () /*取消指定对齐,恢复缺省对齐*/

第一个变量b的自身对齐值为1,指定对齐值为2,所以,其有效对齐值为1,假设C从0x0000开始,那么b存放在0x0000,符合0x0000%1= 0;第二个变量,自身对齐值为4,指定对齐值为2,所以有效对齐值为2,所以顺序存放在0x0002、0x0003、0x0004、0x0005四个连续字节中,符合0x0002%2=0。第三个变量c的自身对齐值为2,所以有效对齐值为2,顺序存放
在0x0006、0x0007中,符合 0x0006%2=0。所以从0x0000到0x00007共八字节存放的是C的变量。又C的自身对齐值为4,所以C的有效对齐值为2。又8%2=0,C 只占用0x0000到0x0007的八个字节。所以sizeof(struct C)=8.

四.如何修改编译器的默认对齐值?

1.在VC IDE中,可以这样修改:[Project]|[Settings],c/c++选项卡Category的Code Generation选项的Struct Member Alignment中修改,默认是8字节。
2.在编码时,可以这样动态修改:#pragma pack .注意:是pragma而不是progma.

五.针对字节对齐,我们在编程中如何考虑?

如果在编程的时候要考虑节约空间的话,那么我们只需要假定结构的首地址是0,然后各个变量按照上面的原则进行排列即可,基本的原则就是把结构中的变量按照类型大小从小到大声明,尽量减少中间的填补空间.还有一种就是为了以空间换取时间的效率,我们显示的进行填补空间进行对齐,比如:有一种使用空间换时间做法是显式的插入reserved成员:
struct A{
char a;
char reserved[3];//使用空间换时间
int b;
};
reserved成员对我们的程序没有什么意义,它只是起到填补空间以达到字节对齐的目的,当然即使不加这个成员通常编译器也会给我们自动填补对齐,我们自己加上它只是起到显式的提醒作用.

六.字节对齐可能带来的隐患:

代码中关于对齐的隐患,很多是隐式的。比如在强制类型转换的时候。例如:
unsigned int i = 0x12345678;
unsigned char *p=NULL;
unsigned short *p1=NULL;

p=&i;
*p=0x00;
p1=(unsigned short *)(p+1);
*p1=0x0000;
最后两句代码,从奇数边界去访问unsignedshort型变量,显然不符合对齐的规定。
在x86上,类似的操作只会影响效率,但是在MIPS或者sparc上,可能就是一个error,因为它们要求必须字节对齐.
七.如何查找与字节对齐方面的问题:

如果出现对齐或者赋值问题首先查看
1. 编译器的big little端设置
2. 看这种体系本身是否支持非对齐访问
3. 如果支持看设置了对齐与否,如果没有则看访问时需要加某些特殊的修饰来标志其特殊访问操作。

阅读全文