返回列表 发帖

网络技术综合

网络词汇大全
AAL(ATM适配层):标准协议的一个集合,用于适配用户业务。AAL分为会聚子层(CS)和拆装子层(SCR)。AAL有4种协议类型:AAL1、AAL2、AAL3/AAL4和AAL5分别支持各种AAL业务类型。
AAL1(ATM适配层1):AAL1向用户提供恒定比特率的数据传送能力、并提供定时信息和结构信息的能力。在必要时还能提供一定的纠错能力和报错的能力。AAL1支持A类业务。
AAL2 (ATM适配层2):AAL2用于支持可变比特率的面向连接业务。并同时传送业务时钟信息
AAL3/4 (ATM适配层3/4):AAL3/4既支持无连接的也支持面向连接链路,但主要用于在ATM网络上传输SMDS数据包。
AAL5(ATM适配层5):AAL5支持面向连接的、VBR业务,它主要用于ATM网及LANE上传输标准的IP业务。AAL5采用了SEAL技术,并且是目前AAL推荐中最简单的一个。AAL5提供低带宽开销和更为简单的处理需求以获得简化的带宽性能和错误恢复能力。
AARP(AppleTalk地址解析协议):把数据链路地址映射成网络地址的AppleTalk协议栈中的协议。
Access list(访问表):由路由器保存,防止具有某一IP地址的数据包进/出路由器某一特殊的接口。
Access server(接入服务器):一般放在PSTN与INTERNET之间,通过网络和终端仿真软件把异步设备连接到某一局域网或广域网上的通信处理器。
Active hub(有源集线器):放大局域网传输信号的多端口设备。
Address mask(地址掩码):用于描述地址的哪一部分是指网络或子网,哪一部分是指主机的比特组合。有时简称为掩码。
Address resolution(地址解析):通常指解决计算机寻址方式之间差别的方法。地址解析通常指把网络层(第三层)地址映射成数据链路层(第二层)地址的方法。
Administrative distance (管理位距):路由选择信息源的可信度的级别。数值越高,可信度级别越低。
ANSI(美国国家标准协会):由公司、政府和其它成员组成的自愿组织。它们协商与标准有关的活动,审议美国国家标准,并努力提高美国在国际标准化组织中的地位。此外,ANSI使有关通信和网络方面的国际标准和美国标准得到发展。ANSI是IEC和ISO的成员之一。
API(应用程序接口):即函数调用规则说明,它定义了一个与服务器的接口。
AppleTalk(苹果计算机公司设计出来的通信协议系列):目前有两个阶段。第一个阶段是早期的版本,支持只有一个网络号和只在一个地区的单个物理网络。第二个阶段是比较新的版本,支持单个物理网路上的多个逻辑网并允许网络分布在不止一个地区。
ARP(地址解析协议):把IP地址映射到MAC地址的因特网协议。定义在RFC826中。
ASBR(自主系统边界路由器):ASBR位于OSPF自主系统和非OSPF网络之间。ASBRs可以运行OSPF和另一路由选择协议(如RIP)。ASBR必须处于非存根OSPF区域中。
ATM(异步传输模式):信元中继的国际标准,在ATM中,各种服务类型(例如语音、视频或树据)都以固定长度(53字节)信元的形式进行传送。固定长度的信元使得可以在硬件中对信元进行处理,从而减少了通过延迟。ATM的设计应能利用高速传输介质如E3,SONET 和T3。
AUI(连接单元接口):MAU和NIC(网络接口卡)之间的IEEE 802.3接口。AUI这一名词也可以指后面板端口(AUI电缆连接在它上面)。
Autonomous system(自主系统):在共享一公共路由选择策略公共管理下的网络集合。自主系统按区域细分,一个自主系统必须由LANA分配一个独特的16比特号码。

Backbone cabling(主干电缆):提供配线室之间、配线室与POP之间以及同一局域网大楼之间的相互连接的电缆。
Back off(退避):发生冲突时的强制性重传延迟。
Bandwidth(带宽):网络信号所能达到的最高频和最低频之差。这一术语也用于描述某网络介质或协议的额定吞吐能力。
Bandwidth reservation(带宽预留):把带宽分配给用户和网络服务的应用程序的过程。包括根据业务流重要性和延迟敏感性为不同业务流分配优先级。这样就最大限度地利用了可用带宽,如果网络发生拥塞,低优先级的业务就被丢弃。有时也称为带宽分配。
BECN(后向显式拥挤通告):在与遇到一拥塞路径的传输方向相反的帧中,由帧中继网络设置的比特,DTE(接收带有BECN比特设置的帧)会请示较高层协议采取合适的流量控制行动。
Bit-oriented protocol(面向比特协议):能不管帧内容而传送帧的数据链路层通讯协议类别。与面向字节协议相比,面向比特协议提供全双工操作并更加高效和可靠。
BPDU(网桥协议数据单元):是一种生成树协议问候数据包,它以可配置的间隔发出,用来在网络的网桥间进行信息交换。
BRI(基本速率接口):ISDN接口由用于话音、视频和数据电路交换通信的两个B信道和一个D信道组成。
Bridge(网桥):在使用相同通信协议的两个网段间连接和传递分组的装置。网桥在OSI参考模型的数据链路层(第二层)上运行。一般地,网桥能过滤、转发、或扩散一输入帧(基于该帧的MAC地址)。
Broadcast(广播):传给网络所有节点的数据包。由广播地址确定广播。
Broadcast address(广播地址):预留给向所有站点传送信息的特殊地址。一般地,广播地址是所有地址的MAC目的地址,通常是把MAC地址设为全1。
Broadcast domain(广播区域):能接收集合内任一设备发出的广播帧所有设备的集合。因为路由器不转发广播帧,广播区域一般由路由器设定边界。
Broadcast storm(广播风暴):是一种讨厌的网络事件,事件发生时,许多广播同时在所有网段上传送。广播风暴占用相当可观的网络带宽,并且一般会引起网络超时。
Buffer(缓冲器):用于处理转接数据的存储区域。缓冲区用在互联网络中可以退避网络设备间处理速度的差别。数据突发可存在缓冲区,直到它们可以被较慢的设备处理。有时也称为包缓冲区。
Byte-oriented protocol(面向字节协议):数据链路通信协议的类别,该数据链路通信协议使用用户字符集中的一个特定字符划定帧的界限。这些协议大多数已被面向比特的协议取代。


Category 1 cabling(第一类电缆):第一类电缆是EIA/TIA-568B标准中所描述的五类非屏蔽双绞线电缆之一。它用于电话通信,但不适于传输数据。
Category 2 cabling(第二类电缆):第二类电缆是EIA/TIA-568B标准中所描述的五类非屏蔽双绞线电缆之一。它能够 以高达4Mbps的速率传输数据。
Category 3 cabling(第三类电缆):第三类电缆是EIA/TIA-568B标准中所描述的五类非屏蔽双绞线电缆之一。它用于10BaseT的网络中,并且能够以高达10Mbps的速率传输数据。
Category 4 cabling(第四类电缆):第四类电缆是EIA/TIA-568B标准中所描述的五类非屏蔽双绞线电缆之一。它用于令牌环网络中,并且能够以高达16Mbps的速率传输数据。
Category 5 cabling(第五类电缆):第五类电缆是EIA/TIA-568B标准中所描述的五类非屏蔽双绞线电缆之一。它用于运行CDDI,并且能够以高达100Mbps的速率传输数据。 CBR(恒定比特率):由ATM论坛为ATM网络定义的QOS级别。恒速率应用于依靠精确时钟保证无失真传输的连接。
CCITT(国际电报电话咨询委员会):负责开发通信协议的国际组织。现在改名为国际电信联盟-电信标准化部分。
Channelized E1(信道化的E1线路):E1线路被分成30个B信道和1 个D信道后,以2.048 Mbps速率运行的接入链路。它支持DDR 、帧中继、和X.25。
CHAP(Challenge握手鉴权协议):为了防止未授权访问而使用端对端协议封装的线路上所支持的安全特性。它自己本身并不能防止未授权的访问,它只是用于辨识终端。然后路由器或访问服务器就能够决定该用户是否可以访问。
CIDR(无级别域内路由):BGP4支持的基于路由累加的技术,它允许路由器为了减少核心路由器携带的路由信息而把路由组合成组。通过使用CIDR,几个IP网络对于组外的网络而言就像是单一的大网络。
CIR(指定信息速率):帧中继网络在正常条件下允许的信息传送速率,它是在最小的一段时间里的速率均值。CIR是以每秒多少比特计算的,它是tariff metrics协商出中的一个关键计量单位。
Circuit switching(电路交换):在呼叫进行期间,发送方和接收方必须存在一条专用的物理电路的交换系统即电路交换。它主要应用于电话公司网络中。电路交换作为一种信道访问技术,可以与争用 和 令牌环传递技术相比; 作为一种交换技术,电路交换可以与报文交换 和分组交换 技术相比。
Client-server computing(客户机/服务器计算):该术语用来描述分布式计算(处理)网络系统,在这些网络系统中事物责任被分成两部分:客户机(前端)和服务器(后端)。这两个术语(客户机和服务器)既可以用于软件程序,也可以应用于实际的计算设备。这也被称作分布式计算(处理)。
CO(中心局):它指的是给定区域内所有本地环路连接到的本地电话公司,在中心局内进行用户线路的电路交换。
Coaxial cable(同轴电缆):包着一根内部线缆的空心的圆柱状导体,当前用于局域网的两种同轴电缆是:用于数字信令的50-ohm电缆,和用于模拟信号和高速数字信令的75-ohm电缆。
CODEC(编码器/译码器):使用PCM技术将模拟信号转化成数字比特流,并能够再将数字信号转换回模拟信号的设备。
Collision(冲突):在以太网中,当两个节点同时传输数据时,从两个设备发出的帧将会碰撞,当它们在物理介质上相遇时,彼此的数据都会被破坏。
Collision domain(冲突域):在以太网中,冲突域指的是位于传播发生的帧冲突的网络区域。重发器和集线器都会传播冲突;局域网交换机,网桥和路由器不会传播冲突。
Communication server(通信服务器):通过网络和终端模拟软件连接异步设备到局域网或者广域网的通信处理器。它只执行IP和IPX协议的异步例程。
Convergence(集中):在互联网的拓扑结构有变化以后,一组运行特定的路由选择协议的互联网连接设备同意该拓扑结构变化的速度和能力。
CPE(用户站设备):电话公司提供的终接设备,比如终端,电话,调制解调器。它安装在用户所在地点,并和电话公司的网络相连。
CRC(循环冗余校验):一种差错校验技术。帧的接收端通过把帧的内容除以原始二进制除数来计算余数,并把计算所得的余数和发送端存储在帧中的值相比较。
CSMA/CD(带有冲突检测的载波侦听多路访问):一种介质访问机制,在这种机制下,准备传输数据的设备首先检查载波通道。如果在一定时间内没有侦听到载波,那么一个设备就可以发送数据。如果两个设备同时发送数据,冲突就会发生并被所有冲突设备所检测到。这种冲突便延缓了这些设备的重传,使得它们在隔某一随机时间后才发送数据。CSMA/CD访问用于以太网和IEEE 802.3中。
CSU(通道服务单元):把终端用户和本地数字电话环路相连的数字接口设备。通常它和DSU统称为CSU/DSU。
Cut-through packet switching(通断式分组交换):一种分组交换方法。它通过交换机传送数据,使得分组的前面部分在整个分组进入输入端口前,在交换机上的输出端口上离开交换机。使用伺机通过分组交换的设备在检查目的端地址和确定输出端口时,便读取,处理和转发分组。它也称为on-the-fly 分组交换。

Datagram(数据报):它指在没有事先建立一个虚电路的情况下,在传输介质上作为网络层单元发送的信息的逻辑分组。IP数据报是互联网上的主要信息单元。术语帧、报文、数据分组和数据段 也是用来描述在OSI参考模型的不同层和不同的技术圈中的逻辑信息分组。
Datalinklayer(数据链路层):它指的是OSI参考模型的第二层。该层提供了通过物理链路的可靠数据传输。数据链路层主要关心物理寻址、网络拓扑、线路描述、按顺序传输各帧和流控。IEEE已经把数据链路层分成了两个子层:MAC子层和LLC子层。数据链路层有时只简单地叫作链路层。它大致对应于SNA模型中的数据链路控制层。
DCE(数据通信设备或者数据电路终端设备):该设备和其与通信网络的连接构成了网络终端的用户网络接口。它提供了到网络的一条物理连接、转发业务量,并且提供了一个用于同步DCE设备和DTE设备之间数据传输的时钟信号。调制解调器和接口卡都是DCE设备的例子。
DDR(拨号请求路由选择):路由器能够根据发送工作站的请求,自动初始化和结束一个电路交换的会话的一种技术。路由器一直伪装成激活状态,从而使得终端工作站一直认为该会话处于激活状态。拨号请求路由选择允许在ISDN线路或者在使用了一个ISDN终端适配器或调制解调器的电话线路上进行路由选择。
Decryption(解密):它是对数据进行加密的加密算法的逆运算。它能够将加密的数据恢复成原样,即为未加密时的状态。
Dedicated line(专线):永久地被保留用于传输的通信线路,而不是当有传输请求时由交换得到的通信线路。
Default route(缺省路由):指的是路由表中未直接列出的路由选择项,它用于指示数据帧下一跳的方向。
Delay(延时):指的是发送方初始化一项事务和接收方第一次响应该事务之间的时间差。它也指在一定路径上把数据分组从信源端传输到信宿端所需的时间。
DLCI(数据链路连接标识符):指的是在帧中继网络中表示PVC (永久虚电路)或SVC(交换式虚电路)的值。在基本的帧中继规范中,数据链路连接标识符在局部内是很重要的(连接的设备可能会用不同的值来表示相同的连接)。在LMI(层管理接口)扩展规范中,数据链路连接标识符在全局内都很重要的(数据链路连接标识符表示单一的终端设备)。
DLSw(数据链路交换):它是一个在RFC 1434文档中描述的互操作标准,它提供了一个在TCP/IP网络上使用数据链路层交换和封装来转发SNA和NetBIOS通信的方法。数据链路交换使用SSP(交换机到交换机协议),而不是SRB协议,从而消除了以下SRB协议的主要局限:跳数限制、广播和不必要的通信、超时、缺乏流量控制和缺乏优先权机制。 DNS(域名命名系统):该系统用在互联网中用来把网络节点的名字翻译成网络地址。
Domain(域): 1.在互联网中,它指的是命名等级树的一部分,它是根据组织或者地理位置的通用网络分组。 2.在SNA(系统网络体系结构)中,它指的是一个系统服务控制点和它所控制的资源。 3.在IS-IS(中介系统到中介系统)中,它指的是一个网络的逻辑集合。
DPT(动态包传输):DPT技术是Cisco公司于1999年推出的、用于新一代IP骨干网(IP over Optical)的最新传输技术,其英文全称为:Dynamic Packet Transport(动态包传输)。DPT将IP路由在"带宽有效利用"和"多服务支持"方面的优势与光纤环路在"富裕带宽"和"故障自愈能力"方面的优势完美地结合在一起,从而为服务供应商在"分组优化光纤传输"方面提供了一个节省开支、功能丰富的解决方案。
DSU(数据业务单元):指的是用于数字传输中的一种设备,它能够把DTE设备上的物理层接口适配到T1或者E1等通信设施上。数据业务单元也负责信号计时等功能,它通常与CSU(信道业务单元)一起提及,称作CSU/DSU。
DTE(数据终端设备):指的是位于用户网络接口用户端的设备,它能够作为信源、信宿或同时为二者。数据终端设备通过数据通信设备(例如,调制解调器)连接到一个数据网络上,并且通常使用数据通信设备产生的时钟信号。数据终端设备包括计算机、协议翻译器以及多路分解器等设备

TOP

网络技术综合

Linux安全设置手册
Linux安全设置手册
by:Kapil Sharma from Linux_Month(An Onine Monthly Linux Magzine)
翻译:f@tfox
本文讲述了如何通过基本的安全措施,使你的Linux系统变得可靠。
1、Bios Security
一定要给Bios设置密码,以防通过在Bios中改变启动顺序,而可以从软盘启动。这样可以阻止别人试图用特殊的启动盘启动你的系统,还可以阻止别人进入Bios改动其中的设置(比如允许通过软盘启动等)。
2、LILO Security
在“/etc/lilo.conf”文件中加入下面三个参数:time-out,restricted,password。这三个参数可以使你的系统在启动lilo时就要求密码验证。
第一步:
编辑lilo.conf文件(vi /etc/lilo.comf),假如或改变这三个参数:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=00 #把这行该为00
prompt
Default=linux
restricted #加入这行
password= #加入这行并设置自己的密码
image=/boot/vmlinuz-2.2.14-12
label=linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only
第二步:
因为"/etc/lilo.conf"文件中包含明文密码,所以要把它设置为root权限读取。
[root@kapil /]# chmod 600 /etc/lilo.conf
第三步:
更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。
[Root@kapil /]# /sbin/lilo -v
第四步:
使用“chattr”命令使"/etc/lilo.conf"文件变为不可改变。
[root@kapil /]# chattr +i /etc/lilo.conf
这样可以防止对“/etc/lilo.conf”任何改变(以外或其他原因)
3、删除所有的特殊账户
你应该删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。
删除用户:
[root@kapil /]# userdel LP
删除组:
[root@kapil /]# groupdel LP
4、选择正确的密码
在选择正确密码之前还应作以下修改:
修改密码长度:在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。修改最短密码长度需要编辑login.defs文件(vi /etc/login.defs),把下面这行
PASS_MIN_LEN 5
改为
PASS_MIN_LEN 8
login.defs文件是login程序的配置文件。
5、打开密码的shadow支持功能:
你应该打开密码的shadow功能,来对password加密。使用“/usr/sbin/authconfig”工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用“pwcov,grpconv”命令。
6、root账户
在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,系统会自动注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在"HISTFILESIZE="后面加入下面这行:
TMOUT=3600
3600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的“.bashrc”文件中添加该值,以便系统对该用户实行特殊的自动注销时间。
改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。
7、取消普通用户的控制台访问权限
你应该取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。
[root@kapil /]# rm -f /etc/security/console.apps/
是你要注销的程序名。
8、取消并反安装所有不用的服务
取消并反安装所有不用的服务,这样你的担心就会少很多。察看“/etc/inetd.conf”文件,通过注释取消所有你不需要的服务(在该服务项目之前加一个“#”)。然后用“sighup”命令升级“inetd.conf”文件。
第一步:
更改“/etc/inetd.conf”权限为600,只允许root来读写该文件。
[Root@kapil /]# chmod 600 /etc/inetd.conf
第二步:
确定“/etc/inetd.conf”文件所有者为root。
第三步:
编辑 /etc/inetd.conf文件(vi /etc/inetd.conf),取消下列服务(你不需要的):ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth等等。把不需要的服务关闭可以使系统的危险性降低很多。
第四步:
给inetd进程发送一个HUP信号:
[root@kapil /]# killall -HUP inetd
第五步:
用chattr命令把/ec/inetd.conf文件设为不可修改,这样就没人可以修改它:
[root@kapil /]# chattr +i /etc/inetd.conf
这样可以防止对inetd.conf的任何修改(以外或其他原因)。唯一可以取消这个属性的人只有root。如果要修改inetd.conf文件,首先要是取消不可修改性质:
[root@kapil /]# chattr -i /etc/inetd.conf
别忘了该后再把它的性质改为不可修改的。
9、TCP_WRAPPERS
使用TCP_WRAPPERS可以使你的系统安全面对外部入侵。最好的策略就是阻止所有的主机(在"/etc/hosts.deny" 文件中加入"ALL: ALL@ALL, PARANOID" ),然后再在"/etc/hosts.allow" 文件中加入所有允许访问的主机列表。
第一步:
编辑hosts.deny文件(vi /etc/hosts.deny),加入下面这行
# Deny access to everyone.
ALL: ALL@ALL, PARANOID
这表明除非该地址包好在允许访问的主机列表中,否则阻塞所有的服务和地址。
第二步:
编辑hosts.allow文件(vi /etc/hosts.allow),加入允许访问的主机列表,比如:
ftp: 202.54.15.99 foo.com
202.54.15.99和 foo.com是允许访问ftp服务的ip地址和主机名称。
第三步:
tcpdchk程序是tepd wrapper设置检查程序。它用来检查你的tcp wrapper设置,并报告发现的潜在的和真实的问题。设置完后,运行下面这个命令:
[Root@kapil /]# tcpdchk
10、禁止系统信息暴露
当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改“/etc/inetd.conf”文件来达到这个目的。
把/etc/inetd.conf文件下面这行:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
修改为:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
在最后加“-h”可以使当有人登陆时只显示一个login:提示,而不显示系统欢迎信息。
11、修改“/etc/host.conf”文件
“/etc/host.conf”说明了如何解析地址。编辑“/etc/host.conf”文件(vi /etc/host.conf),加入下面这行:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on
第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否“/etc/hosts”文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。
12、使“/etc/services”文件免疫
使“/etc/services”文件免疫,防止未经许可的删除或添加服务:
[root@kapil /]# chattr +i /etc/services
13、不允许从不同的控制台进行root登陆
"/etc/securetty"文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑"/etc/securetty"文件,再不需要登陆的TTY设备前添加“#”标志,来禁止从该TTY设备进行root登陆。
14、禁止任何人通过su命令改变为root用户
su(Substitute User替代用户)命令允许你成为系统中其他已存在的用户。如果你不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配置文件(在"/etc/pam.d/"目录下)的开头添加下面两行:
编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/Pam_wheel.so group=wheel
这表明只有"wheel"组的成员可以使用su命令成为root用户。你可以把用户添加到“wheel”组,以使它可以使用su命令成为root用户。
15、Shell logging
Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样可以使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。
第一步:
“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行确定所有用户的“.bash_history”文件中可以保存的旧命令条数。强烈建议把把“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行的值设为一个较小的数,比如30。编辑profile文件(vi /etc/profile),把下面这行改为:
HISTFILESIZE=30
HISTSIZE=30
这表示每个用户的“.bash_history”文件只可以保存30条旧命令。
第二步:
网管还应该在"/etc/skel/.bash_logout" 文件中添加下面这行"rm -f $HOME/.bash_history" 。这样,当用户每次注销时,“.bash_history”文件都会被删除。
编辑.bash_logout文件(vi /etc/skel/.bash_logout) ,添加下面这行:
rm -f $HOME/.bash_history
16、禁止Control-Alt-Delete 键盘关闭命令
在"/etc/inittab" 文件中注释掉下面这行(使用#):
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
为了使这项改动起作用,输入下面这个命令:
[root@kapil /]# /sbin/init q
17、给"/etc/rc.d/init.d" 下script文件设置权限
给执行或关闭启动时执行的程序的script文件设置权限。
[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/*
这表示只有root才允许读、写、执行该目录下的script文件。
18、隐藏系统信息
在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。对于黑客来说这些信息足够它入侵你的系统了。你应该只给它显示一个“login:”提示符。
第一步:
编辑"/etc/rc.d/rc.local" 文件,在下面显示的这些行前加一个“#”,把输出信息的命令注释掉。
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo "" > /etc/issue
#echo "$R" >> /etc/issue
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
第二步:
删除"/etc"目录下的“isue.net”和"issue"文件:
[root@kapil /]# rm -f /etc/issue
[root@kapil /]# rm -f /etc/issue.net
19、禁止不使用的SUID/SGID程序
如果一个程序被设置成了SUID root,那么普通用户就可以以root身份来运行这个程序。网管应尽可能的少使用SUID/SGID 程序,禁止所有不必要的SUID/SGID程序。
查找root-owned程序中使用's'位的程序:
[root@kapil]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -lg {} \;
用下面命令禁止选中的带有's'位的程序:
[root@kapil /]# chmod a-s [program]
根据上面这些安全指导方针设置后,系统管理员就会拥有一个基本安全的系统。上面这些工作有些是个持续的过程,网管要不断进行这些工作,以保持系统的安全性。

TOP

网络技术综合

FTP服务器的专用术语
FTP服务器的专用术语 ftp服务器的专有术语
经常碰到的:
530 Not logged in.
连接失败
正在延迟 120 秒,在重新连接尝试第 1 次之前
这通常是密码错误。
421 Too many users - please try again later.
连接失败
正在延迟 120 秒,在重新连接尝试第 1 次之前
这个是显示人数过多

125
数据连接已打开,准备传送
150
文件状态良好,打开数据连接
200
命令成功
202
命令未实现
211
系统状态或系统帮助响应
212
目录状态
213
文件状态
214
帮助信息,信息仅对人类用户有用
215
名字系统类型
220
对新用户服务准备好
221
服务关闭控制连接,可以退出登录
225
数据连接打开,无传输正在进行
226
关闭数据连接,请求的文件xx作成功
227
进入被动模式
230
用户登录
250
请求的文件xx作完成
257
创建"PATHNAME"
331
用户名正确,需要口令
332
登录时需要帐户信息
350
请求的文件xx作需要进一步命令
421
不能提供服务,关闭控制连接
425
不能打开数据连接
426
关闭连接,中止传输
450
请求的文件xx作未执行
451
中止请求的xx作:有本地错误
452
未执行请求的xx作:系统存储空间不足
500
格式错误,命令不可识别
501
参数语法错误
502
命令未实现
503
命令顺序错误
504
此参数下的命令功能未实现
530
未登录
532
存储文件需要帐户信息
550
未执行请求的xx作
551
请求xx作中止:页类型未知
552
请求的文件xx作中止,存储分配溢出
553
未执行请求的xx作:文件名不合法

TOP

网络技术综合

磁盘阵列技术
磁盘阵列(DiscArray)是由许多台磁盘机或光盘机按一定的规则,如分条(Striping)、分块(Declustering)、交叉存取(Interleaving)等组成一个快速,超大容量的外存储器子系统。它在阵列控制器的控制和管理下,实现快速,并行或交叉存取,并有较强的容错能力。从用户观点看,磁盘阵列虽然是由几个、几十个甚至上百个盘组成,但仍可认为是一个单一磁盘,其容量可以高达几百~上千千兆字节,因此这一技术广泛为多媒体系统所欢迎。
  盘阵列的全称是:RedundanArrayofInexpensiveDisk,简称RAID技术。它是1988年由美国加州大学Berkeley分校的DavidPatterson教授等人提出来的磁盘冗余技术。从那时起,磁盘阵列技术发展得很快,并逐步走向成熟。现在已基本得到公认的有下面八种系列。
1.RAID0(0级盘阵列)
  RAID0又称数据分块,即把数据分布在多个盘上,没有容错措施。其容量和数据传输率是单机容量的N倍,N为构成盘阵列的磁盘机的总数,I/O传输速率高,但平均无故障时间MTTF(MeanTimeToFailure)只有单台磁盘机的N分之一,因此零级盘阵列的可靠性最差。
2.RAID1(1级盘阵列)
  RAID1又称镜像(Mirror)盘,采用镜像容错来提高可靠性。即每一个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出。一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据,然后由系统再恢复工作盘正确数据。因此这种方式数据可以重构,但工作盘和镜像盘必须保持一一对应关系。这种盘阵列可靠性很高,但其有效容量减小到总容量一半以下。因此RAID1常用于对出错率要求极严的应用场合,如财政、金融等领域。
3.RAID2(2级盘阵列)
  RAID2又称位交叉,它采用汉明码作盘错检验,无需在每个扇区之后进行CRC(CyclicReDundancycheck)检验。汉明码是一种(n,k)线性分组码,n为码字的长度,k为数据的位数,r为用于检验的位数,故有:n=2r-1r=n-k
  因此按位交叉存取最有利于作汉明码检验。这种盘适于大数据的读写。但冗余信息开销还是太大,阻止了这类盘的广泛应用。
4.RAID3(3级盘阵列)
  RAID3为单盘容错并行传输阵列盘。它的特点是将检验盘减小为一个(RAID2校验盘为多个,DAID1检验盘为1比1),数据以位或字节的方式存于各盘(分散记录在组内相同扇区号的各个磁盘机上)。它的优点是整个阵列的带宽可以充分利用,使批量数据传输时间减小;其缺点是每次读写要牵动整个组,每次只能完成一次I/O。
5.RAID4(4级盘阵列)
  RAID4是一种可独立地对组内各盘进行读写的阵列。其校验盘也只有一个。
  RAID4和RAID3的区别是:RAID3是按位或按字节交叉存取,而RAID4是按块(扇区)存取,可以单独地对某个盘进行操作,它无需象RAID3那样,那怕每一次小I/O操作也要涉及全组,只需涉及组中两台磁盘机(一台数据盘,一台检验盘)即可。从而提高了小量数据的I/O速率。
6.RAID5(5级盘阵列)
  RAID5是一种旋转奇偶校验独立存取的阵列。它和RAID1、2、3、4各盘阵列的不同点,是它没有固定的校验盘,而是按某种规则把其冗余的奇偶校验信息均匀地分布在阵列所属的所有磁盘上。于是在同一台磁盘机上既有数据信息也有校验信息。这一改变解决了争用校验盘的问题,因此DAID5内允许在同一组内并发进行多个写操作。所以RAID5即适于大数据量的操作,也适于各种事务处理。它是一种快速,大容量和容错分布合理的磁盘阵列。
7.RAID6(6级盘阵列)
  RAID6是一种双维奇偶校验独立存取的磁盘阵列。它的冗余的检、纠错信息均匀分布在所有磁盘上,而数据仍以大小可变的块以交叉方式存于各盘。这类盘阵列可容许双盘出错。
8.RAID7(7级盘阵列)
  RAID7是在RAID6的基础上,采用了cache技术,它使得传输率和响应速度都有较大的提高。Cache是一种高速缓冲存储器,即数据在写入磁盘阵列以前,先写入cache中。一般采用cache分块大小和磁盘阵列中数据分块大小相同,即一块cache分块对应一块磁盘分块。在写入时将数据分别写入两个独立的cache,这样即使其中有一个cache出故障,数据也不会丢失。写操作将直接在cache级响应,然后再转到磁盘阵列。数据从cache写到磁盘阵列时,同一磁道的数据将在一次操作中完成,避免了不少块数据多次写的问题,提高了速度。在读出时,主机也是直接从cache中读出,而不是从阵列盘上读取,减少与磁盘读操作次数,这样比较充分地利用了磁盘带宽。
  这样cache和磁盘阵列技术的结合,弥补了磁盘阵列的不足(如分块写请求响应差等缺陷),从而使整个系统以高效、快速、大容量、高可靠以及灵活、方便的存储系统提供给用户,从而满足了当前的技术发展的需要,尤其是多媒体系统的需要。
解析磁盘阵列的关键技术
存储技术在计算机技术中受到广泛关注,服务器存储技术更是业界关心的热点。一谈到服务器存储技术,人们几乎立刻与SCSI(Small Computer Systems Interface)技术联系在一起。尽管廉价的IDE硬盘在性能、容量等关键技术指标上已经大大地提高,可以满足甚至超过原有的服务器存储设备的需求。但由于Internet的普及与高速发展,网络服务器的规模也变得越来越大。同时,Internet不仅对网络服务器本身,也对服务器存储技术提出了苛刻要求。无止境的市场需求促使服务器存储技术飞速发展。而磁盘阵列是服务器存储技术中比较成熟的一种,也是在市场上比较多见的大容量外设之一。
在高端,传统的存储模式无论在规模上,还是安全上,或是性能上,都无法满足特殊应用日益膨胀的存储需求。诸如存储局域网(SAN)等新的技术或应用方案不断涌现,新的存储体系结构和解决方案层出不穷,服务器存储技术由直接连接存储(DAS)向存储网络技术(NAS)方面扩展。在中低端,随着硬件技术的不断发展,在强大市场需求的推动下,本地化的、基于直接连接的磁盘阵列存储技术,在速度、性能、存储能力等方面不断地迈上新台阶。并且,为了满足用户对存储数据的安全、存取速度和超大的存储容量的需求,磁盘阵列存储技术也从讲求技术创新、重视系统优化,以技术方案为主导的技术推动期逐渐进入了强调工业标准、着眼市场规模,以成熟产品为主导的产品普及期。
回顾磁盘阵列的发展历程,一直和SCSI技术的发展紧密关联,一些厂商推出的专有技术,如IBM的SSA(Serial Storage Architecture)技术等,由于兼容性和升级能力不尽如人意,在市场上的影响都远不及SCSI技术广泛。由于SCSI技术兼容性好,市场需求旺盛,使得SCSI技术发展很快。从最原始5MB/s传输速度的SCSI-1,一直发展到现在LVD接口的160MB/s传输速度的Ultra 160 SCSI,320MB/s传输速度的Ultra 320 SCSI接口也将在2001年出现(见表1)。从当前市场看,Ultra 3 SCSI技术和RAID(Redundant Array of Inexpensive Disks)技术还应是磁盘阵列存储的主流技术。
SCSI技术
SCSI本身是为小型机(区别于微机而言)定制的存储接口,SCSI协议的Version 1 版本也仅规定了5MB/s传输速度的SCSI-1的总线类型、接口定义、电缆规格等技术标准。随着技术的发展,SCSI协议的Version 2版本作了较大修订,遵循SCSI-2协议的16位数据带宽,高主频的SCSI存储设备陆续出现并成为市场的主流产品,也使得SCSI技术牢牢地占据了服务器的存储市场。SCSI-3协议则增加了能满足特殊设备协议所需要的命令集,使得SCSI协议既适应传统的并行传输设备,又能适应最新出现的一些串行设备的通讯需要,如光纤通道协议(FCP)、串行存储协议(SSP)、串行总线协议等。渐渐地,“小型机”的概念开始弱化,“高性能计算机”和“服务器”的概念在人们的心目中得到强化,SCSI一度成为用户从硬件上来区分“服务器”和PC机的一种标准。
通常情况下,用户对SCSI总线的关心放在硬件上,不同的SCSI的工作模式意味着有不同的最大传输速度。如40MB/s的Ultra SCSI、160MB/s的Ultra 3 SCSI等等。但最大传输速度并不代表设备正常工作时所能达到的平均访问速度,也不意味着不同SCSI工作模式之间的访问速度存在着必然的“倍数”关系。SCSI控制器的实际访问速度与SCSI硬盘型号、技术参数,以及传输电缆长度、抗干扰能力等因素关系密切。提高SCSI总线效率必须关注SCSI设备端的配置和传输线缆的规范和质量。可以看出,Ultra 3模式下获得的实际访问速度还不到Ultra Wide模式下实际访问速度的2倍。
一般说来,选用高速的SCSI硬盘、适当增加SCSI通道上连接硬盘数、优化应用对磁盘数据的访问方式等,可以大幅度提高SCSI总线的实际传输速度。尤其需要说明的是,在同样条件下,不同的磁盘访问方式下获得的SCSI总线实际传输速度可以相差几十倍,对应用的优化是获得高速存储访问时必须关注的重点,而这却常常被一些用户所忽视。按4KB数据块随机访问6块SCSI硬盘时,SCSI总线的实际访问速度为2.74MB/s,SCSI总线的工作效率仅为总线带宽的1.7%;在完全不变的条件下,按256KB的数据块对硬盘进行顺序读写,SCSI总线的实际访问速度为141.2MB/s,SCSI总线的工作效率高达总线带宽的88%。
随着传输速度的提高,信号传输过程中的信号衰减和干扰问题显得越来越突出,终结器在一定程度上可以起到降低信号波反射,改善信号质量的作用。同时,LVD(Low-Voltage Differential)技术的应用也越来越多。LVD工作模式是和SE(Single-Ended)模式相对应的,它可以很好地抵抗传输干扰,延长信号的传输距离。同时,Ultra 2 SCSI和Ultra 3 SCSI模式也通过采用专用的双绞型SCSI电缆来提高信号传输的质量。
在磁盘阵列的概念中,大容量硬盘并不是指单个硬盘容量大,而是指将单个硬盘通过RAID技术,按RAID 级别组合成更大容量的硬盘。所以在磁盘阵列技术中,RAID技术是比较关键的,同时,根据所选用的RAID级别的不同,得到的“大硬盘”的功能也有不同。
RAID是一项非常成熟的技术,但由于其价格比较昂贵,配置也不方便,缺少相对专业的技术人员,所以应用并不十分普及。据统计,全世界75%的服务器系统目前没有配置RAID。由于服务器存储需求对数据安全性、扩展性等方面的要求越来越高,RAID市场的开发潜力巨大。RAID技术是一种工业标准,各厂商对RAID级别的定义也不尽相同。目前对RAID级别的定义可以获得业界广泛认同的只有4种,RAID 0、RAID 1、RAID 0+1和RAID 5。
RAID 0是无数据冗余的存储空间条带化,具有低成本、极高读写性能、高存储空间利用率的RAID级别,适用于Video / Audio信号存储、临时文件的转储等对速度要求极其严格的特殊应用。但由于没有数据冗余,其安全性大大降低,构成阵列的任何一块硬盘损坏都将带来数据灾难性的损失。所以,在RAID 0中配置4块以上的硬盘,对于一般应用来说是不明智的。
RAID 1是两块硬盘数据完全镜像,安全性好,技术简单,管理方便,读写性能均好。但其无法扩展(单块硬盘容量),数据空间浪费大,严格意义上说,不应称之为“阵列”。
RAID 0+1综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像。它的读写性能出色,安全性高,但构建阵列的成本投入大,数据空间利用率低,不能称之为经济高效的方案。
RAID 5是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高(见图6)。任何一块硬盘上数据丢失,均可以通过校验数据推算出来。它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是1块硬盘出现故障以后,整个系统的性能大大降低。
对于RAID 1、RAID 0+1、RAID 5阵列,配合热插拔(也称热可替换)技术,可以实现数据的在线恢复,即当RAID阵列中的任何一块硬盘损坏时,不需要用户关机或停止应用服务,就可以更换故障硬盘,修复系统,恢复数据,对实现HA(High Availability)高可用系统具有重要意义。
各厂商还在不断推出各种RAID级别和标准。例如更高安全性的,从RAID控制器开始镜像的RAID;更快读写速度的,为构成RAID的每块硬盘配置CPU和Cache的RAID等等,但都不普及。用IDE硬盘构建RAID的技术是新出现的一个技术方向,对市场影响也较大,其突出优点就是构建RAID阵列非常廉价。目前IDE RAID可以支持RAID 0、RAID 1和RAID 0+1三个级别,最多支持4块IDE硬盘。由于受IDE设备扩展性的限制,同时,也由于IDE设备也缺乏热可替换的技术支持的原因,IDE RAID的应用还不多。
总之,发展是永恒的主题,在服务器存储技术领域也不例外。一方面,一些巨头厂商尝试推出新的概念或标准,来领导服务器及存储技术的发展方向,较有代表性的如Intel力推的IA-64架构及存储概念;另一方面,致力于存储的专业厂商以现有技术和工业标准为基础,推动SCSI、RAID、Fibre Channel等基于现有存储技术和方案快速更新和发展。在市场经济条件下,检验技术发展的唯一标准是市场的认同。市场呼唤好的技术,而新的技术必须起到推动市场向前发展作用时才能被广泛接受和承认。随着高性能计算机市场的发展,高性能比、高可靠性、高安全性的存储新技术也会不断涌现。
现在市场上的磁盘阵列产品有很多,用户在选择磁盘阵列产品的过程中,也要根据自己的需求来进行选择,现在列举几个磁盘阵列产品,同时也为需要磁盘阵列产品的用户提供一些选择。表2列出了几种磁盘阵列的主要技术指标。
--------------------------------------------------------------------------------
小知识:磁盘阵列的可靠性和可用性
可靠性,指的是硬盘在给定条件下发生故障的概率。可用性,指的是硬盘在某种用途中可能用的时间。磁盘阵列可以改善硬盘系统的可靠性。从表3中可以看到RAID硬盘子系统与单个硬盘子系统的可靠性比较。
此外,在系统的可用性方面,单一硬盘系统的可用性比没有数据冗余的磁盘阵列要好,而冗余磁盘阵列的可用性比单个硬盘要好得多。这是因为冗余磁盘阵列允许单个硬盘出错,而继续正常工作;一个硬盘故障后的系统恢复时间也大大缩短(与从磁带恢复数据相比);冗余磁盘阵列发生故障时,硬盘上的数据是故障当时的数据,替换后的硬盘也将包含故障时的数据。但是,要得到完全的容错性能,计算机硬盘子系统的其它部件也必须有冗余。

TOP

网络技术综合

子网掩码及其应用

  在TCP/IP协议中,SUBNET MASKS(子网掩码)的作用是用来区分网络上的主机是否在同一网络取段内。在大型网络中,CLASS A的SUBNET MASKS为255.0.0.0, CLASS B的SUBNET MASKS为255.255.0.0,CLASS C的SUBNET MASKS为255.255.255.0。
  假如某台主机的SUBNET MASKS为IP地址为202.119.115.78,它的SUBNET MASKS为255.255.255.0。将这两个数据作AND运算后,所得出的值中的非0的BYTE部分即为NETWORK ID 。运算步骤如下:
  202.119.115.78的二进制值为:
  11001010.01110111.01110011.01001110
  255.255.255.0的二进制值为:
  11111111.11111111.11111111.00000000
  AND后的结果为:  
  11001010.01110111.01110011.00000000
  转为二进制后即为:
  202.119.115.0
  它就是NETWORK ID,在IP地址中剩下的即为HOST ID,即为78,这样当有另一台主机  的IP 地址为202.119.115.83,它的SUBNET MASKS也是255.255.255.0,则其NETWORK ID  为202.119.115,HOST ID为83,因为这两台主机的NETWORK ID都是202.119.115,因此,这两台主机在同一网段内。
  但是,在实际应用中,可能会有多个分布与各地的网络,而且,每个网络的主机数量并不很多,如果申请多个NETWORK ID,会造成IP资源的浪费,而且很不经济,如果我们在SUBNET MASKS上动一下手脚,可以在只申请一个NETWORK ID的基础上解决这个问题。
  比如,我们有三个不同的子网,每个网络的HOST数量各为20、25和50,下面依次称为甲、乙和丙网,但只申请了一个NETWORK ID 就是202.119.115。首先我们把甲和乙网的SUBNET MASKS改为255.255.255.224,224的二进制为11100000,即它的SUBNET MASKS为:
  11111111.11111111.11111111.11100000
  这样,我们把HOST ID的高三位用来分割子网,这三位共有000、001、010、011、100、 101、110、111八种组合,除去000(代表本身)和111(代表广播),还有六个组合,也就是可提供六个子网,它们的IP地址分别为:(前三个字节还是202.119.115)

  00100001~00111110 即33~62为第一个子网
  01000001~01011110 即65~94为第二个子网
  01100001~01111110 即97~126为第三个子网  
  10000001~10011110 即129~158为第四个子网  
  10100001~10111110 即161~190为第五个子网  
  11000001~11011110 即193~222为第六个子网
  选用161~190段给甲网,193~222段给乙网,因为各个子网都支持30台主机,足以应付甲网和乙网20台和25台的需求。
  再来看丙网,由于丙网有50台主机,按上述分割方法无法满足它的IP需求,我们 可以将它的SUBNET MASKS设为255.255.255.192, 由于192的二进制值为11000000,按上述方法,它可以划分为两个子网,IP地址为:
  01000001~01111110 即65~126为第一个子网  
  10000001~10111110 即129~190为第二个子网
  这样每个子网有62个IP可用,将65~126分配丙网,多个子网用一个NETWORK ID 即告实现。

  如果将子网掩码设置过大,也就是说子网范围扩大。那么根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的相与结果而认为是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃。数据不能正确到达目的机,导致网络传输错误。如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,任意设置子网掩码是不对的,应该根据网络管理部门的规定进行设置。
  随着IP地址资源的日趋枯竭,可供分配的IP地址越来越少,往往一个拥 有几百台计算机规模的网络只能得到区区几个IP地址,于是,许多人开始采用其他技术来扩展IP空间。
  1.子网掩码设置
  如果你所分配的IP地址仅能满足对主机的需求,但远不能满足你欲在局 域网中再建若干子网的需要,设置子网掩码就是你不得不采取的措施了。
  子网掩码同样也以四个字节来表示,用来区分IP地址的网络号和主机号, 默认子网掩码如下表所示:
  子网掩码(以十进制表示)
  A类 255.0.0.0
  B类 255.255.0.0
  C类 255.255.255.0
  当IP地址与子网掩码相与时,非零部分即被确认为网络号。
  假如我们将子网掩码中第四字节最高位起的某些位由0修改成1,使本来应当属于主机号的 部分改变成为网络号,这样就实现了我们划分子网的目的。例如你得到了一个C类网络地址198.189.98,按常规,你所有的设备从198.189.98.0到198.189.98.254都将处于同一网络之中,但如果你需要将自己 的网络划分成5个子网以便管理,那就必须修改子网掩码255.255.255.0,将此 掩码的第四个字节中的前三位再拿出来充当子网掩码,即将第四字节的00000000 修改成11100000(十进制数为224),故应当将子网掩码设置为255.255.255.224。这样我们有001、010、011、100、101、110六种方式与之相与得到不同的网络号(除去000和111作为保留地址不能使用),各子网的前三个字节仍然是198.189.98。可以知道:如子网掩码的位数越多,能划分的子网数也就越多,但 是每个子网的主机数就会越少。子网掩码的划分设置也有一个缺点:划分的子网越多,损失的IP地址也会越多。因为每个子网都会保留全0或全1的两个地址而不能使用。
  2.动态IP地址设置
  DHCP(DynamicHostConfigurationProtocol)动态主机配置协议是一种 多个工作站共享IP地址的方法。当我们分配到的IP地址数目远小于一个网络工作站的数目时,如果为每个设备都分配一个固定的IP地址,则显然有一部分计 算机将不能连入网络。DHCP为我们提供了一个较好的解决方法,其前提条件是其中每一个设备都不是随时都需要连接入网,并且同一时刻上网的设备不会很多。动态IP地址,顾名思义就是每一个设备所取得的IP地址是非固定的,即计算机连入网络时自动申请取得一个合法的IP地址,断开网络时自动归还,以便其他计算机使用。这样,我们可以用较少的IP地址构建较大的网络,也可以 增加网络工作站的可移性,如果一台主机从一个子网移动到另一个子网时,由于网络号的不同将修改该计算机的IP地址,否则无法与其他主机通信,而如果我 们采用动态IP地址,就会减少网络管理的复杂性。现在DHCP已非常流行,所支持的软件很多,且可以运行于不同机器和平台。目前拨号上Internet的用户就基本上采用这种方法。
  3.非路由地址
  在IP地址范围内,IANA(InternetAssignedNumbersAuthority)将一部 分地址保留作为私人IP地址空间,专门用于内部局域网使用,这些地址如下表:
  类 IP地址范围             网络数
  A 10.0.0.0---10.255.255.255     1
  B 172.16.0.0---172.31.255.255    16
  C 192.168.0.0---192.168.255.255   255
  这些地址是不会被Internet分配的,因此它们在Internet上也从来不会被路由,虽然它们不能直接和Internet网连接,但仍旧可以被用来和Internet通讯,我们可以根据需要来选用适当的地址类,在内部局域网中大胆地将这些地址当作公用IP地址一样地使用。在Internet上,那些不需要与Internet通讯的设备,如打印机、可管理集线器等也可以使用这些地址,以节省IP地址资源。
  4.代理服务器
  代理服务器其实是Internet上的一台主机设备,它有一个固定的IP地址,当你需要上Internet时,就向该服务器提出请求,代理服务器接受请求并为你 建立连接,然后将你所需要的服务返回信息通知你,所有的数据信息和通讯处理 都是通过代理服务器的IP地址来完成。这种情况下,我们局域网内部的主机就应使用非路由地址,这样,即能保证内部主机之间的通讯,又能拒绝外来网络的 直接访问请求。
  代理服务器具有以下两个优点:一是如果你请求的数据已被同一网段上的其他人请求过了,那么大多数代理服务器都能从Cache中调用这些数据直接传给你,避免重新连接的时间和带宽;二是代理服务器可以保护你的内部网络不受入侵,也可以设置对某些主机的访问能力进行必要限制,这实际上起着代理防火墙 的作用。
  支持代理服务器的软件也非常多,WinGate、MsProxy等都是非常流行的代理服务器软件。在中国,代理服务器的使用也越来越广泛,中国公众多媒体通讯网(169)其实就是一个巨大的使用代理服务器的例子。
  5.地址翻译
  所谓地址翻译实际上是路由器中的一个数据包处理过程。当数据包通过路由器时,地址翻译过程将其中的内部私有IP地址解析出来,将其翻译为一个合法的IP地址。地址翻译过程可以按预先定义好的地址表一一映射翻译,也可以将多个内部私有地址翻译为一个外部合法IP地址。由于网络内每个设备都有一个内部稳定的IP地址,所以这种方法具有较 强的网络安全控制性能。

TOP

网络技术综合

win2000系统进程详解

最基本的系统进程
(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行):
smss.exe Session Manager
csrss.exe 子系统服务器进程
winlogon.exe 管理用户登录
services.exe 包含很多系统服务
lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。(系统服务)
产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)
svchost.exe 包含很多系统服务
svchost.exe
SPOOLSV.EXE 将文件加载到内存中以便迟后打印。(系统服务)
explorer.exe 资源管理器
internat.exe 托盘区的拼音图标
附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少):
mstask.exe 允许程序在指定时间运行。(系统服务)
regsvc.exe 允许远程注册表操作。(系统服务)
winmgmt.exe 提供系统管理信息(系统服务)。
inetinfo.exe 通过 Internet 信息服务的管理单元提供 FTP 连接和管理。(系统服务)
tlntsvr.exe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)
允许通过 Internet 信息服务的管理单元管理 Web 和 FTP 服务。(系统服务)
tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)
termsrv.exe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基
于 Windows 的程序。(系统服务)
dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)
以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉
tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)
支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。(系统服务)
ismserv.exe 允许在 Windows Advanced Server 站点间发送和接收消息。(系统服务)
ups.exe 管理连接到计算机的不间断电源(UPS)。(系统服务)
wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。(系统服务)
llssrv.exe License Logging Service(system service)
ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。(系统服务)
RsSub.exe 控制用来远程储存数据的媒体。(系统服务)
locator.exe 管理 RPC 名称服务数据库。(系统服务)
lserver.exe 注册客户端许可证。(系统服务)
dfssvc.exe 管理分布于局域网或广域网的逻辑卷。(系统服务)
clipsrv.exe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。(系统服务)
msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务)
faxsvc.exe 帮助您发送和接收传真。(系统服务)
cisvc.exe Indexing Service(system service)
dmadmin.exe 磁盘管理请求的系统管理服务。(系统服务)
mnmsrvc.exe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务)
netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务)
smlogsvc.exe 配置性能日志和警报。(系统服务)
rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功能。(系统服务)
RsEng.exe 协调用来储存不常用数据的服务和管理工具。(系统服务)
RsFsa.exe 管理远程储存的文件的操作。(系统服务)
grovel.exe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务)
SCardSvr.exe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务)
snmp.exe 包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。(系统服务)
snmptrap.exe 接收由本地或远程 SNMP 代理程序产生的陷阱消息,然后将消息传递到运行在这台计算机上 SNMP 管理程序
。(系统服务)
UtilMan.exe 从一个窗口中启动和配置辅助工具。(系统服务)
msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)
详细说明:

win2k运行进程
Svchost.exe
Svchost.exe文件对那些从动态连接库中运行的服务来说是一个普通的主机进程名。Svhost.exe文件定位
在系统的%systemroot%\system32文件夹下。在启动的时候,Svchost.exe检查注册表中的位置来构建需要
加载的服务列表。这就会使多个Svchost.exe在同一时间运行。每个Svchost.exe的回话期间都包含一组服务,
以至于单独的服务必须依靠Svchost.exe怎样和在那里启动。这样就更加容易控制和查找错误。
Svchost.exe 组是用下面的注册表值来识别。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost
每个在这个键下的值代表一个独立的Svchost组,并且当你正在看活动的进程时,它显示作为一个单独的
例子。每个键值都是REG_MULTI_SZ类型的值而且包括运行在Svchost组内的服务。每个Svchost组都包含一个
或多个从注册表值中选取的服务名,这个服务的参数值包含了一个ServiceDLL值。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service
更多的信息
为了能看到正在运行在Svchost列表中的服务。
开始-运行-敲入cmd
然后在敲入 tlist -s (tlist 应该是win2k工具箱里的冬冬)
Tlist 显示一个活动进程的列表。开关 -s 显示在每个进程中的活动服务列表。如果想知道更多的关于
进程的信息,可以敲 tlist pid。
Tlist 显示Svchost.exe运行的两个例子。
0 System Process
8 System
132 smss.exe
160 csrss.exe Title:
180 winlogon.exe Title: NetDDE Agent
208services.exe
Svcs: AppMgmt,Browser,Dhcp,dmserver,Dnscache,Eventlog,lanmanserver,LanmanWorkstation,LmHosts,Messenger,PlugPlay,ProtectedStorage,seclogon,TrkWks,W32Time,Wmi
220 lsass.exe Svcs: Netlogon,PolicyAgent,SamSs
404 svchost.exe Svcs: RpcSs
452 spoolsv.exe Svcs: Spooler
544 cisvc.exe Svcs: cisvc
556 svchost.exe Svcs: EventSystem,Netman,NtmsSvc,RasMan,SENS,TapiSrv
580 regsvc.exe Svcs: RemoteRegistry
596 mstask.exe Svcs: Schedule
660 snmp.exe Svcs: SNMP
728 winmgmt.exe Svcs: WinMgmt
852 cidaemon.exe Title: OleMainThreadWndName
812 explorer.exe Title: Program Manager
1032 OSA.EXE Title: Reminder
1300 cmd.exe Title: D:\WINNT5\System32\cmd.exe - tlist -s
1080 MAPISP32.EXE Title: WMS Idle
1264 rundll32.exe Title:
1000 mmc.exe Title: Device Manager
1144 tlist.exe
在这个例子中注册表设置了两个组。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost:
netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent Rasauto Rasman Remoteaccess SENS Sharedaccess Tapisrv Ntmssvc
rpcss :Reg_Multi_SZ: RpcSs
smss.exe
csrss.exe
这个是用户模式Win32子系统的一部分。csrss代表客户/服务器运行子系统而且是一个基本的子系统
必须一直运行。csrss 负责控制windows,创建或者删除线程和一些16位的虚拟MS-DOS环境。
explorer.exe
这是一个用户的shell(我实在是不知道怎么翻译shell),在我们看起来就像任务条,桌面等等。这个
进程并不是像你想象的那样是作为一个重要的进程运行在windows中,你可以从任务管理器中停掉它,或者重新启动。
通常不会对系统产生什么负面影响。
internat.exe
这个进程是可以从任务管理器中关掉的。
internat.exe在启动的时候开始运行。它加载由用户指定的不同的输入点。输入点是从注册表的这个位置
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload 加载内容的。
internat.exe 加载“EN”图标进入系统的图标区,允许使用者可以很容易的转换不同的输入点。
当进程停掉的时候,图标就会消失,但是输入点仍然可以通过控制面板来改变。
lsass.exe
这个进程是不可以从任务管理器中关掉的。
这是一个本地的安全授权服务,并且它会为使用winlogon服务的授权用户生成一个进程。这个进程是
通过使用授权的包,例如默认的msgina.dll来执行的。如果授权是成功的,lsass就会产生用户的进入
令牌,令牌别使用启动初始的shell。其他的由用户初始化的进程会继承这个令牌的。
mstask.exe
这个进程是不可以从任务管理器中关掉的。
这是一个任务调度服务,负责用户事先决定在某一时间运行的任务的运行。
smss.exe
这个进程是不可以从任务管理器中关掉的。
这是一个会话管理子系统,负责启动用户会话。这个进程是通过系统进程初始化的并且对许多活动的,
包括已经正在运行的Winlogon,Win32(Csrss.exe)线程和设定的系统变量作出反映。在它启动这些
进程后,它等待Winlogon或者Csrss结束。如果这些过程时正常的,系统就关掉了。如果发生了什么
不可预料的事情,smss.exe就会让系统停止响应(就是挂起)。
spoolsv.exe
这个进程是不可以从任务管理器中关掉的。
缓冲(spooler)服务是管理缓冲池中的打印和传真作业。
service.exe
这个进程是不可以从任务管理器中关掉的。
大多数的系统核心模式进程是作为系统进程在运行。
System Idle Process
这个进程是不可以从任务管理器中关掉的。
这个进程是作为单线程运行在每个处理器上,并在系统不处理其他线程的时候分派处理器的时间。

winlogon.exe
这个进程是管理用户登录和推出的。而且winlogon在用户按下CTRL+ALT+DEL时就激活了,显示安全对话框。
winmgmt.exe
winmgmt是win2000客户端管理的核心组件。当客户端应用程序连接或当管理程序需要他本身的服务时这个进程初始化
taskmagr.exe
这个进程呀,哈哈,就是任务管理器了

TOP

网络技术综合

透析ICMP协议(一): 协议原理 篇文章原创自bugfree/CSDN 平台: VC6 Windows XP ICMP简介: -------- 对于熟悉网络的人来说, ICMP是再熟悉不过了. 它同IP协议一样工作在ISO模型的网络层 , 它的全称是: Internet Control Message Protocal. 其在网络中的主要作用是: - 主机探测 - 路由维护 - 路由选择 - 流量控制 我主要围绕主机探测来讲解如下的几篇文章: - 透析ICMP协议(一): 基础知识 协议原理 - 透析ICMP协议(二): 函数简介 Windows Socket 简介 - 透析ICMP协议(三): 牛刀初试之一 应用篇ping(ICMP.dll) - 透析ICMP协议(四): 牛刀初试之二 应用篇ping(RAW Socket) - 透析ICMP协议(五): 应用篇路由追踪 对于主机探测来说有很多方法,主机某些服务的BANNER,一些使用的应用程序,或者使 用工具来检测主机,如NMAP,在WEB上有www.netcraft.com来简单的估测主机。下面所讲 的是使用ICMP协议来探测主机,主要也是可以了解ICMP这个协议,这里最主要的也是将 这个ICMP协议, 首先我来讲一下主机探测用到的ICMP报文我没有一一讲全部报文,详细请参见RFC792协 议) 1. 回送或回送响应   我们使用一个ICMPECHO数据包来探测主机地址是否存活(当然在主机没有被配置为 过滤ICMP形式),通过简单的发送一个ICMPECHO(Type 8)数据包到目标主机,如果ICMPE CHOReply(ICMPtype0)数据包接受到,说明主机是存活状态。  如果没有就可以初步判 断主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。这种机制就是我们通常所 用的ping命令来检测目标主机是否可以ping到. 回送消息的源地址是回送响应消息的目的地址。若要形成一个回送响应消息,应该将源 和目的地址交换,将类型代码更改为0,重新计算机校验码。 下面是这个报文的格式: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data ... +-+-+-+-+- 类型: 8代表回送消息; 0代表回送响应消息。 代码:0 校验码: 16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零 。这些零在 以后会被校验码取代。 标识符:如果代码=0,帮助匹配回送和回送响应的代码可以为0。 序列码:如果代码=0,帮助匹配回送和回送响应的序列码可以为0。 说明: 回送消息中接收到的消息应该在回送响应消息中返回。标识符和序列码由回送发送者使 用帮助匹配 回送请求的响应。代码: 从主机或网关接收0 2. 超时报文 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Internet Header + 64 bits of Original Data Datagram | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 类型:11 代码: 0 = 传送超时; 1 = 分段级装超时。 校验码: 16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零 。 这些零在以后会被校验码取代。 Internet包头+64位源数据报数据: Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。 如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。 说明: 如果网关在处理数据报时发现生存周期域为零,此数据报必须抛弃。网关同时必须通过 超 时信息通知源主机。如果主机在组装分段的数据报时因为丢失段未能在规定时间内组装 数据, 此数据报必须抛弃。网关发送超时信息。 如果段零不可用则不用发送超时信息。 代码0由网关发送,代码1由主机发送。 3. 目标主机不可达报文 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | unused | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Internet Header + 64 bits of Original Data Datagram | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 类型:3 代码: 0 = 网络不可达; 1 = 主机不可达; 2 = 协议不可用; 3 = 端口不可达; 4 = 需要段和DF设置; 5 = 源路由失败; 校验码: 16位数据(从ICMP类型开始)的反码和再取反而得。为计算校验码,校验码域应该为零 。 这些零在以后会被校验码取代。 Internet包头+源数据报: Internet包头加上源数据的头64位而得。此数据用于主机匹配信息到相应的进程。 如果高层协议使用端口号,应该假设其在源数据的头64个字节之中。 说明: 相应于网关的路由表,如果在目的域中指定的网络不可达,如网络距离为无限远,网关 会向发送 源数据的主机发送目的不可达消息。而且,在一些网络中,网关有能力决定目的主机是 否可达。 如果目的地不可达,它将向发送源数据的主机发送不可达信息。 在目的主机,如果IP模块因为指定的协议模块和进程端口不可用而不能提交数据报,目 的主机将 向发送源数据的主机发送不可达信息。 另外一种情况是当数据报必须被分段传送,而“不可分段”位打开,在这种情况下,网 关必须抛弃 此数据报,并向向发送源数据的主机发送不可达信息。 代码0,1,4和5由网关发送,而代码2和3由主机发送。 链接: ------- 我的其它文章,<<透析ICMP协议>>, 和其它文章参见: http://www.csdn.net/develop/author/netauthor/bugfree/ 透析ICMP协议(五): 应用篇路由追踪 透析ICMP协议(四): 牛刀初试之二 应用篇ping(RAW Socket) 透析ICMP协议(三): 牛刀初试之一 应用篇ping(ICMP.dll) 透析ICMP协议(二): Windows Socket 简介 透析ICMP协议(一): 协议原理 __________________ QQ:85731095 向版主反映这个帖子 | IP: 已记录 10-19-2003 09:20 yxq_njupt 正式会员 注册日期: Oct 2003 来自: 安徽 发帖数: 206 2 这篇文章出自bugfree/CSDN 平台: VC6 Windows XP 简介: ------- Windows 的Socket函数有许多, 我没有做详细介绍, 这里的函数都是简要说明其用途, 详细用法请参考MSDN. 这里的主要目的是为了后面的三个应用服务. 函数说明: --------- WSAStartup函数 初始化Winsock [声明] int WSAStarup(WORD wVersionRequested,LPWSADATA lpWSAData); [参数] wVersionRequested - 要求使用Winsock的最低版本号 lpWSAData - Winsock的详细资料 [返回值] 当函数成功调用时返回0 失败时返回非0的值 --- socket函数 用于生成socket(soket Descriptor) [声明] SOCKET socket(int af,int type,int protocol); [参数] af - 地址家族(通常使用:AF_INET) type - socket的种类 SOCK_STREAM : 用于TCP协议 SOCK_DGRAM : 用于UDP协议 protocol - 所使用的协议 [返回值] 当函数成功调用时返回一个新的SOCKET(Socket Descriptor) 失败时返回INVALID_SOCKET. --- inet_addr函数 地址转换, 把"A.B.C.D"的IP地址转换为32位长整数 [声明] unsigned long inet_addr ( const char FAR *cp ); [参数] cp - 指向IP地址字符串的指针 [返回值] 当函数成功调用时返回用32位整数表示的IP地址 失败时返回INADDR_NONE. --- gethostbyname函数 从主机名获取主机信息. [声明] struct hostent FAR * gethostbyname ( const char FAR *name ); [参数] name - 指向主机名字符串的指针 [返回值] 当函数成功调用时返回主机信息 失败时返回NULL(空值) --- recv函数 利用Socket进行接受数据. [声明] int recv ( SOCKET s , char FAR *buf , int len , int flags ); [参数] s - 指向用Socket函数生成的Socket Descriptor buf - 接受数据的缓冲区(数组)的指针 len - 缓冲区的大小 flag - 调用方式(MSG_PEEK 或 MSG_OOB) [返回值] 成功时返回收到的字节数. 如果连接被中断则返回0 失败时返回 SOCKET_ERROR --- sendto函数 发送数据. [声明] int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const struct sockaddr FAR *to , int token ); [参数] s - 指向用Socket函数生成的Socket Descriptor buf - 接受数据的缓冲区(数组)的指针 len - 缓冲区的大小 flag - 调用方式(MSG_DONTROUTE , MSG_OOB) to - 指向发送方SOCKET地址的指针 token - 发送方SOCKET地址的大小 [返回值] 成功时返回已经发送的字节数. 失败时返回SOCKET_ERROR 篇文章出自:http://tangentsoft.net/wskfaq/examples/dllping.html 翻译: bugfree/CSDN, 对原始代码加了些注释 平台: VC6 Windows XP 原理简介: -------- 这个例子演示了应用微软的ICMP.DLL怎样"ping"另一台机器. 这个DLL是没有文档话的发 送ICMP回送包API接口, 也称为"pings," 就像潜水员对声纳信号的术语一样. 这段代码 出自一个被一个名叫MarkG的家伙的GUI程序, 他的网页已经消失了. ICMP.DLL API 现在在Windows平台上与微软的Winsocks工作的很好, 但是微软说更好的 产品一出来他们将替换它. 微软说这个自从Windows 95时代就在用, 这些功能在在Windo ws 2000上仍然存在. For more information on the ICMP.DLL API, check out sockets.com's ICMP API page. 更详细的ICMP.DLL API的信息到sockets.com的ICMP API网页获取. 具体实现: -------- // Borland C++ 5.0: bcc32.cpp ping.cpp // Visual C++ 5.0: cl ping.cpp wsock32.lib // // This sample program is hereby placed in the public domain. #include #include #include #include "icmpdefs.h" ==================ping的实现部分================== int doit(int argc, char* argv[]) {//[bugfree] 建议将这个argc和argv的处理拿到main函数中 // 检查命令行参数 if (argc < 2) { cerr << "usage: ping " << endl; return 1; } // 装载ICMP.DLL连接库 HINSTANCE hIcmp = LoadLibrary("ICMP.DLL"); if (hIcmp == 0) { cerr << "Unable to locate ICMP.DLL!" << endl; return 2; } // 查找给定机器的IP地址信息 struct hostent* phe; if ((phe = gethostbyname(argv[1])) == 0) { cerr << "Could not find IP address for " << argv[1] << endl; return 3; } // 定义函数三个指针类型 typedef HANDLE (WINAPI* pfnHV)(VOID); typedef BOOL (WINAPI* pfnBH)(HANDLE); typedef DWORD (WINAPI* pfnDHDPWPipPDD)(HANDLE, DWORD, LPVOID, WORD, PIP_OPTION_INFORMATION, LPVOID, DWORD, DWORD); // evil, no? //定义三个指针函数 pfnHV pIcmpCreateFile; pfnBH pIcmpCloseHandle; pfnDHDPWPipPDD pIcmpSendEcho; //从ICMP.DLL中得到函数入口地址 pIcmpCreateFile = (pfnHV)GetProcAddress(hIcmp, "IcmpCreateFile"); pIcmpCloseHandle = (pfnBH)GetProcAddress(hIcmp, "IcmpCloseHandle"); pIcmpSendEcho = (pfnDHDPWPipPDD)GetProcAddress(hIcmp, "IcmpSendEcho"); if ((pIcmpCreateFile == 0) || (pIcmpCloseHandle == 0) || (pIcmpSendEcho == 0)) { cerr << "Failed to get proc addr for function." << endl; return 4; } // 打开ping服务 HANDLE hIP = pIcmpCreateFile(); if (hIP == INVALID_HANDLE_VALUE) { cerr << "Unable to open ping service." << endl; return 5; } // 构造ping数据包 char acPingBuffer[64]; memset(acPingBuffer, '\xAA', sizeof(acPingBuffer)); PIP_ECHO_REPLY pIpe = (PIP_ECHO_REPLY)GlobalAlloc( GMEM_FIXED | GMEM_ZEROINIT, sizeof(IP_ECHO_REPLY) + sizeof(acPingBuffer)); if (pIpe == 0) { cerr << "Failed to allocate global ping packet buffer." << endl; return 6; } pIpe->Data = acPingBuffer; pIpe->DataSize = sizeof(acPingBuffer); // 发送ping数据包 DWORD dwStatus = pIcmpSendEcho(hIP, *((DWORD*)phe->h_addr_list[0]), acPingBuffer, sizeof(acPingBuffer), NULL, pIpe, sizeof(IP_ECHO_REPLY) + sizeof(acPingBuffer), 5000); if (dwStatus != 0) { cout << "Addr: " << int(LOBYTE(LOWORD(pIpe->Address))) << "." << int(HIBYTE(LOWORD(pIpe->Address))) << "." << int(LOBYTE(HIWORD(pIpe->Address))) << "." << int(HIBYTE(HIWORD(pIpe->Address))) << ", " << "RTT: " << int(pIpe->RoundTripTime) << "ms, " << "TTL: " << int(pIpe->Options.Ttl) << endl; } else { cerr << "Error obtaining info from ping packet." << endl; } // 关闭,回收资源 GlobalFree(pIpe); FreeLibrary(hIcmp); return 0; } ==================主函数================== int main(int argc, char* argv[]) { WSAData wsaData; if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) { return 255; } int retval = doit(argc, argv); WSACleanup(); return retval; } ==================头文件================== icmpdefs.h //ICMP.DLL 函数中需要的结构 typedef struct { unsigned char Ttl; // Time To Live unsigned char Tos; // Type Of Service unsigned char Flags; // IP header flags unsigned char OptionsSize; // Size in bytes of options data unsigned char *OptionsData; // Pointer to options data } IP_OPTION_INFORMATION, * PIP_OPTION_INFORMATION; typedef struct { DWORD Address; // Replying address unsigned long Status; // Reply status unsigned long RoundTripTime; // RTT in milliseconds unsigned short DataSize; // Echo data size unsigned short Reserved; // Reserved for system use void *Data; // Pointer to the echo data IP_OPTION_INFORMATION Options; // Reply options } IP_ECHO_REPLY, * PIP_ECHO_REPLY;

TOP

网络技术综合

路由器防火墙配置命令
一、access-list 用于创建访问规则。
(1)创建标准访问列表
access-list [ normal | special ] listnumber1 { permit | deny } source-addr [ source-mask ]
(2)创建扩展访问列表
access-list [ normal | special ] listnumber2 { permit | deny } protocol source-addr source-mask [ operator port1 [ port2 ] ] dest-addr dest-mask [ operator port1 [ port2 ] | icmp-type [ icmp-code ] ] [ log ]
(3)删除访问列表
no access-list { normal | special } { all | listnumber [ subitem ] }
【参数说明】
normal 指定规则加入普通时间段。
special 指定规则加入特殊时间段。
listnumber1 是1到99之间的一个数值,表示规则是标准访问列表规则。
listnumber2 是100到199之间的一个数值,表示规则是扩展访问列表规则。
permit 表明允许满足条件的报文通过。
deny 表明禁止满足条件的报文通过。
protocol 为协议类型,支持ICMP、TCP、UDP等,其它的协议也支持,此时没有端口比较的概念;为IP时有特殊含义,代表所有的IP协议。
source-addr 为源地址。
source-mask 为源地址通配位,在标准访问列表中是可选项,不输入则代表通配位为0.0.0.0。
dest-addr 为目的地址。
dest-mask 为目的地址通配位。
operator[可选] 端口操作符,在协议类型为TCP或UDP时支持端口比较,支持的比较操作有:等于(eq)、大于(gt)、小于(lt)、不等于(neq)或介于(range);如果操作符为range,则后面需要跟两个端口。
port1 在协议类型为TCP或UDP时出现,可以为关键字所设定的预设值(如telnet)或0~65535之间的一个数值。
port2 在协议类型为TCP或UDP且操作类型为range时出现;可以为关键字所设定的预设值(如telnet)或0~65535之间的一个数值。
icmp-type[可选] 在协议为ICMP时出现,代表ICMP报文类型;可以是关键字所设定的预设值(如echo-reply)或者是0~255之间的一个数值。
icmp-code在协议为ICMP且没有选择所设定的预设值时出现;代表ICMP码,是0~255之间的一个数值。
log [可选] 表示如果报文符合条件,需要做日志。
listnumber 为删除的规则序号,是1~199之间的一个数值。
subitem[可选] 指定删除序号为listnumber的访问列表中规则的序号。
【缺省情况】
系统缺省不配置任何访问规则。
【命令模式】
全局配置模式
【使用指南】
同一个序号的规则可以看作一类规则;所定义的规则不仅可以用来在接口上过滤报文,也可以被如DDR等用来判断一个报文是否是感兴趣的报文,此时,permit与deny表示是感兴趣的还是不感兴趣的。
使用协议域为IP的扩展访问列表来表示所有的IP协议。
同一个序号之间的规则按照一定的原则进行排列和选择,这个顺序可以通过 show access-list 命令看到。
【举例】
允许源地址为10.1.1.0 网络、目的地址为10.1.2.0网络的WWW访问,但不允许使用FTP。
Quidway(config)#access-list 100 permit tcp 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 eq www
Quidway(config)#access-list 100 deny tcp 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 eq ftp
【相关命令】
ip access-group
二、clear access-list counters 清除访问列表规则的统计信息。
clear access-list counters [ listnumber ]
【参数说明】
listnumber [可选] 要清除统计信息的规则的序号,如不指定,则清除所有的规则的统计信息。
【缺省情况】
任何时候都不清除统计信息。
【命令模式】
特权用户模式
【使用指南】
使用此命令来清除当前所用规则的统计信息,不指定规则编号则清除所有规则的统计信息。
【举例】
例1:清除当前所使用的序号为100的规则的统计信息。
Quidway#clear access-list counters 100
例2:清除当前所使用的所有规则的统计信息。
Quidway#clear access-list counters
【相关命令】
access-list
三、firewall 启用或禁止防火墙。
firewall { enable | disable }
【参数说明】
enable 表示启用防火墙。
disable 表示禁止防火墙。
【缺省情况】
系统缺省为禁止防火墙。
【命令模式】
全局配置模式
【使用指南】
使用此命令来启用或禁止防火墙,可以通过show firewall命令看到相应结果。如果采用了时间段包过滤,则在防火墙被关闭时也将被关闭;该命令控制防火墙的总开关。在使用 firewall disable 命令关闭防火墙时,防火墙本身的统计信息也将被清除。
【举例】
启用防火墙。
Quidway(config)#firewall enable
【相关命令】
access-list,ip access-group
四、firewall default 配置防火墙在没有相应的访问规则匹配时,缺省的过滤方式。
firewall default { permit | deny }
【参数说明】
permit 表示缺省过滤属性设置为“允许”。
deny 表示缺省过滤属性设置为“禁止”。
【缺省情况】
在防火墙开启的情况下,报文被缺省允许通过。
【命令模式】
全局配置模式
【使用指南】
当在接口应用的规则没有一个能够判断一个报文是否应该被允许还是禁止时,缺省的过滤属性将起作用;如果缺省过滤属性是“允许”,则报文可以通过,否则报文被丢弃。
【举例】
设置缺省过滤属性为“允许”。
Quidway(config)#firewall default permit
五、ip access-group 使用此命令将规则应用到接口上。使用此命令的no形式来删除相应的设置。
ip access-group listnumber { in | out }
[ no ] ip access-group listnumber { in | out }
【参数说明】
listnumber 为规则序号,是1~199之间的一个数值。
in 表示规则用于过滤从接口收上来的报文。
out 表示规则用于过滤从接口转发的报文。
【缺省情况】
没有规则应用于接口。
【命令模式】
接口配置模式。
【使用指南】
使用此命令来将规则应用到接口上;如果要过滤从接口收上来的报文,则使用 in 关键字;如果要过滤从接口转发的报文,使用out 关键字。一个接口的一个方向上最多可以应用20类不同的规则;这些规则之间按照规则序号的大小进行排列,序号大的排在前面,也就是优先级高。对报文进行过滤时,将采用发现符合的规则即得出过滤结果的方法来加快过滤速度。所以,建议在配置规则时,尽量将对同一个网络配置的规则放在同一个序号的访问列表中;在同一个序号的访问列表中,规则之间的排列和选择顺序可以用show access-list命令来查看。
【举例】
将规则101应用于过滤从以太网口收上来的报文。
Quidway(config-if-Ethernet0)#ip access-group 101 in
【相关命令】
access-list
六、settr 设定或取消特殊时间段。
settr begin-time end-time
no settr
【参数说明】
begin-time 为一个时间段的开始时间。
end-time 为一个时间段的结束时间,应该大于开始时间。
【缺省情况】
系统缺省没有设置时间段,即认为全部为普通时间段。
【命令模式】
全局配置模式
【使用指南】
使用此命令来设置时间段;可以最多同时设置6个时间段,通过show timerange 命令可以看到所设置的时间。如果在已经使用了一个时间段的情况下改变时间段,则此修改将在一分钟左右生效(系统查询时间段的时间间隔)。设置的时间应该是24小时制。如果要设置类似晚上9点到早上8点的时间段,可以设置成“settr 21:00 23:59 0:00 8:00”,因为所设置的时间段的两个端点属于时间段之内,故不会产生时间段内外的切换。另外这个设置也经过了2000问题的测试。
【举例】
例1:设置时间段为8:30 ~ 12:00,14:00 ~ 17:00。
Quidway(config)#settr 8:30 12:00 14:00 17:00
例2: 设置时间段为晚上9点到早上8点。
Quidway(config)#settr 21:00 23:59 0:00 8:0
【相关命令】
timerange,show timerange
七、show access-list 显示包过滤规则及在接口上的应用。
show access-list [ all | listnumber | interface interface-name ]
【参数说明】
all 表示所有的规则,包括普通时间段内及特殊时间段内的规则。
listnumber 为显示当前所使用的规则中序号为listnumber的规则。
interface 表示要显示在指定接口上应用的规则序号。
interface-name 为接口的名称。
【命令模式】
特权用户模式
【使用指南】
使用此命令来显示所指定的规则,同时查看规则过滤报文的情况。每个规则都有一个相应的计数器,如果用此规则过滤了一个报文,则计数器加1;通过对计数器的观察可以看出所配置的规则中,哪些规则是比较有效,而哪些基本无效。可以通过带interface关键字的show access-list命令来查看某个接口应用规则的情况。
【举例】
例1:显示当前所使用的序号为100的规则。
Quidway#show access-list 100
Using normal packet-filtering access rules now.
100 deny icmp 10.1.0.0 0.0.255.255 any host-redirect (3 matches,252 bytes -- rule 1)
100 permit icmp 10.1.0.0 0.0.255.255 any echo (no matches -- rule 2)
100 deny udp any any eq rip (no matches -- rule 3)
例2: 显示接口Serial0上应用规则的情况。
Quidway#show access-list interface serial 0
Serial0:
access-list filtering In-bound packets : 120
access-list filtering Out-bound packets: None
【相关命令】
access-list
八、show firewall 显示防火墙状态。
show firewall
【命令模式】
特权用户模式
【使用指南】
使用此命令来显示防火墙的状态,包括防火墙是否被启用,启用防火墙时是否采用了时间段包过滤及防火墙的一些统计信息。
【举例】
显示防火墙状态。
Quidway#show firewall
Firewall is enable, default filtering method is 'permit'.
TimeRange packet-filtering enable.
InBound packets: None;
OutBound packets: 0 packets, 0 bytes, 0% permitted,
0 packets, 0 bytes, 0% denied,
2 packets, 104 bytes, 100% permitted defaultly,
0 packets, 0 bytes, 100% denied defaultly.
From 00:13:02 to 06:13:21: 0 packets, 0 bytes, permitted.
【相关命令】
firewall
九、show isintr 显示当前时间是否在时间段之内。
show isintr
【命令模式】
特权用户模式
【使用指南】
使用此命令来显示当前时间是否在时间段之内。
【举例】
显示当前时间是否在时间段之内。
Quidway#show isintr
It is NOT in time ranges now.
【相关命令】
timerange,settr
十、show timerange 显示时间段包过滤的信息。
show timerange
【命令模式】
特权用户模式
【使用指南】
使用此命令来显示当前是否允许时间段包过滤及所设置的时间段。
【举例】
显示时间段包过滤的信息。
Quidway#show timerange
TimeRange packet-filtering enable.
beginning of time range:
01:00 - 02:00
03:00 - 04:00
end of time range.
【相关命令】
timerange,settr
十一、timerange 启用或禁止时间段包过滤功能。
timerange { enable | disable }
【参数说明】
enable 表示启用时间段包过滤。
disable 表示禁止采用时间段包过滤。
【缺省情况】
系统缺省为禁止时间段包过滤功能。
【命令模式】
全局配置模式
【使用指南】
使用此命令来启用或禁止时间段包过滤功能,可以通过show firewall命令看到,也可以通过show timerange命令看到配置结果。在时间段包过滤功能被启用后,系统将根据当前的时间和设置的时间段来确定使用时间段内(特殊)的规则还是时间段外(普通)的规则。系统查询时间段的精确度为1分钟。所设置的时间段的两个端点属于时间段之内。
【举例】
启用时间段包过滤功能。
Quidway(config)#timerange enable
【相关命令】
settr,show timerange

TOP

网络技术综合

NetBIOS 端口开放问题
天网安全在线推出全国首个在线安全检测系统--"天网医生",它可以初步检测计算机存在的一些安全隐患,并且根据检测结果判断你系统的级别,引导你进一步解决你系统中可能存在的安全隐患。不过有时,如果你安装并开启了有效的防火墙或进行了有效安全设置,天网会通常会出现一些令普通用户难以理解的结果,如下:
135端口开放!(NT,2000)
或 139端口开放!
关于天网端口扫描检测的说明:
在您电脑上,如果出现了一些标准的、容易受攻击的网络服务端口,端口扫描器会尝试建立标准的TCP/IP(网络)连接。当端口扫描器完成扫描后,那些端口是敞开着的,和从端口扫描器传送了什么连接请求都将一目了然。
检测系统在几个知名的服务端口进行,每个端口的扫描结果会分为开放、关闭和隐藏三种状态。主要是为了提醒联网的用户,在互联网上会有各种各样的端口扫描器在扫描接入互联网的各种系统的网络端口,以寻找系统的安全漏洞。

1、 如何理解并关闭135端口
135端口开放实际上是一个WINNT漏洞,开放的135的端口情况容易引起自外部的"Snork"攻击!!!
对于135端口开放的问题,可以在你的防火墙上,增加一条规则:拒绝所有的这类进入的UDP包,目的端口是135,源端口是7,19,或者135,这样可以保护内部的系统,防止来自外部的攻击。大多数防火墙或者包过滤器已经设置了很多严格的规则,已覆盖了这条过滤规则,但任需注意:有一些NT的应用程序,它们依靠UDP135端口进行合法的通讯,而打开你135的端口与NT的RPC服务进行通讯。如果真是这样,你一定要在那些原始地址的系统上(需要135口通讯),实施上述的规则,指定来自这些系统的通讯可以通过防火墙,或者,可以被攻击检测系统所忽略,以便维持那些应用程序的正常连接。
!!!为了保护你的信息安全,强烈建议你安装微软的最新NT补丁包。!!!
2、如何理解并关闭139端口(NetBIOS提供服务的tcp端口)
Netbios(NETwork Basic Input/Output System)网络基本输入输出系统。是1983年IBM开发的一套网络标准,微软在这基础上继续开发。微软的客户机/服务器网络系统都是基于NetBIOS的。在利用Windows NT4.0 构建的网络系统中,对每一台主机的唯一标识信息是它的NetBIOS名。系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,从而实现信息通讯。在这样的网络系统内部,利用NetBIOS名实现信息通讯是非常方便、快捷的。但是在Internet上,它就和一个后门程序差不多了。因此,我们很有必要堵上这个可怕的漏洞。
对于win9x :
在windows9x下如果你是个拨号用户。完全不需要登陆到nt局域网络环境的话。只需要在控制面板-网络-删除microsoft网络用户,使用microsoft友好登陆就可以了。但是如果你需要登陆到nt网络的话。那这一项就不能去处。因为nt网里需要使用netbios。
方法1:
1.检查NetBEUI是否出现在配置栏中。打开控制面版,双击“网络”选项,打开“网络”对话框。在“配置”标签页中检查己安装的网络组件中是否有NetBEUI。如果没有,点击列表下边的添加按钮,选中“网络协议”对话框,在制造商列表中选择微软,在网络协议列表中选择NetBEUI。点击确定,根据提示插入安装盘,安装NetBEUI。
2.回到“网络”对话框,选中“拨号网络适配器”,点击列表右下方“属性”按钮。在打开的“属性”对话框中选择“绑定”标签页,将除“TCP/IP->网络适配器”之外的其它项目前复选框中的对勾都取消!
3.回到“网络”对话框,选中“TCP/IP->拨号网络适配器”点击列表右下方“属性”按钮,不要怕弹出的警告对话框,点击“确定”。在“TCP/IP属性”对话框中选择“绑定”标签页,将列表中所有项目前复选框中的对勾都取消!点击“确定”,这时Windows会警告你“尚未选择绑定的驱动器。现在是否选择驱动器?”点击“否”。之后,系统会提示重新启动计算机,确认。
4.证实己取消绑定。重新进入“TCP/IP->拨号网络适配器”的“TCP/IP属性”对话框,选定“NetBIOS”标签页,看到“通过TCP/IP启用NetBIOS”项被清除了吧!连点两次“取消”退出“网络”对话框(不要点“确认”,免得出现什么意外)。
方法2:
运行RegEdit.exe 查找串“vnetbios”,找到后再选择“查找下一个”,将找到象“blahblah\\VxD\\VNETBIOS\\”的串,删除“VNETBIOS”项即可。 操作一定要谨慎,误操作可能导致系统崩溃,另关掉139端口后将无法共享文件和打印功能。

对于winNT :
在windowsNT下你可以取消netbios与TCP/IP协议的绑定。控制面板-网络-Netbios接口-WINS客户(tcp/ip)-禁用。确定。重启。这样nt的计算机名和工作组名也隐藏了,不过会造成基于netbios的一些命令无法使用。如net等。

对于WIN2000 :
选中网络邻居——》右键——》本地连接——》INTERNET协议(TCP/IP)——》属性——》高级——》选项——》TCP/IP筛选——》在“只允许”中填入除了137,138,139只外的端口。如果你在局域网中,会影响局域网的使用
当然还有最方便的方法:
选择一条天网的空规则,数据包方向选接收;对方IP地址选任何;协议TCP;本地端口139到139;对方端口0到0;标志位在SYN标志上打勾;动作拦截。
然后把这条规则勾上让它生效,保存即可。

最后谈谈这个后门的端口,137,138是udp端口。当通过网络邻居传输文件的时候就是通过这个2个端口.139端口是netbios提供服务的tcp端口。在windows9x下可以完全关闭这几个端口。完全禁止了netbios服务。方式是在控制面板-网络-只保留tcp/ip协议和拨号网络适配器。但是这样windows会提示你网络不完整。但是还可以继续使用。在tcp/ip协议里的netbios一项不要选择绑定到tcp/ip协议。这时候你的netbios服务完全停止了。你的机器也没有137,138和139端口了。这样追捕也搞不清你到底是9x还是unix了。windowsNT下可以封锁这些端口。封锁不必要的TCP和UDP端口可以通过在网络控制面板的IP地址对话框中进行配置来完成。 点击高级按钮激活高级IP地址对话框, 然后点击Enable Secury 对话框,然后点击配置按钮激活TCP/IP安全对话框, 那里列出了那些TCP和UDP端口被允许了。但是好像不能识别拨号网络适配器。
以上的方法都是给不需要连接入局域网的计算机的配置方法。如果你是一台拨号上网的单机那么完全可以禁止netbios服务。但是如果你需要接入局域网的话。那你只能注意加密你的共享资源了。否则全互联网的人都可以通过这个windows的“后门”到你的计算机里了:)

TOP

返回列表 回复 发帖