在区域网路上可能你听过所谓「广播模式」的资料发送 *** ,此种 *** 不指定收信站,只要和此网路连结的所有网路设备皆为收信对象。但是这仅仅在区域网路上能够实行,因为区域网路上的机器不多(和Internet比起来)。如果想是Internet上有数千万的主机,根本就不可能实施资料广播(至于IP
Multicast算是一种限定式广播Restricted
Broadcast,唯有被指定的机器会收到,Internet上其他电脑还是不会收到)。假设Internet上可以实施非限定广播,那随便一个人发出广播讯息,全世界的电脑皆受其影响,岂不世界大乱?因此,任何区域网路内的路由器或是类似网路设备都不会将自己区域网路内的广播讯息转送出去。万一在WAN
Port收到广播讯息,也不会转进自己的LANPort中。
而既然网路皆有发信站与收信站,用以标示资讯发送者与资讯接收者,除非对方使用一些特殊的封包封装方式或是使用防火墙对外连线,那么只要有人和你的主机进行通讯(寄信或是telnet、ftp过来都算)你就应该会知道对方的么,如果对方用了防火墙来和你通讯,你最少也能够知道防火墙的位置。也正因为只要有人和你连线,你就能知道对方的位置,那么要不要知道对方位置只是要做不做的问题而已。如果对方是透过一台UNIX主机和你连线,则你更可以透过ident查到是谁和你连线的。
在实行TCP/IP通讯协定的电脑上,通常可以用netstat指令来看到目前连线的状况。(各位读者可以在win95、Novell以及UNIX试试看(注一)),在下面的连线状况中,netstat指令是在win95上实行的,可以看到目前自己机器(Local
Address处)的telnetport有一台主机workstation.variox.int由远端(Foreign
Address处)连线进来并且配到1029号tcpport.而ccunix1主机也以ftp
port连到workstation.variox.int去。所有的连线状况看得一清二楚。(如A、B)
A.在UNIX主机(ccunix1.variox.int)看netstat
B.另一端在Windows95(workstation.variox.int)看netstat
虽然是不同的作业系统,但netstat是不是长得很像呢?
通信过程的纪录设定
当然,如果你想要把网路连线纪录给记录下来,你可以用crontable定时去跑:
netstat>>filename
但是UNIX系统早已考虑到这一个需求,因此在系统中有一个专职记录系统事件的Daemon:syslogd,应该有很多读者都知道在UNIX系统的/var/adm下面有两个系统纪录档案:syslog与messages,一个是一般系统的纪录,一个是核心的纪录。但是这两个档案是从哪边来的,又要如何设定呢?
系统的纪录基本上都是由syslogd(SystemKernelLog
Daemon)来产生,而syslogd的控制是由/etc/syslog.conf来做的。syslog.conf以两个栏位来决定要记录哪些东西,以及记录到哪边去。下面是一个Linux系统所附上的syslog.conf档案,这也是一个最标准的syslog.conf写法:
格式就是这样子,之一栏写「在什么情况下」以及「什么程度」。然后用TAB键跳下一栏继续写「符合条件以后要做什么」。这个syslog.conf档案的作者很诚实,告诉你只能用TAB来作各栏位之间的分隔(虽然看来好像他也不知道为什么)。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。