找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 安全攻防 查看内容

我要怎么知道是谁在finger我啊?

2009-12-14 01:53| 发布者: admin| 查看: 12| 评论: 0|原作者: 回梦游仙

一般来说,你是无法找出在远端机器 finger 你的那个人的 userid 的。你大概 
只能找出在从哪台机器 finger 的。另外有一种可行的方法,如果你的系统支援 
并且假设 finger daemon 不反对的话,那么可以把你的 .plan 档用 "named 
pipe" 而不用一般的文字档。(用 'mknod' 来造) 

接下来,你执行一个程式去写(open for writing)你的 .plan 档;但是由于 
你的 .plan 是一个 "named pipe",所以这个开档的动作要一直等到有其他的 
process 去读(open for reading)你的 .plan 档时才会成功。现在你就可以 
任意地把你所想让人 finger 到的 .plan 内容写入这个 pipe。在 
comp.sources.misc, volumn 41 中有个 "planner" 的程式可以做这件事。 

当然,如果你的系统不支援 "named pipe",或是你所用的 finger 程式只接受 
纯文字的 .plan 档,那么以上的方法就行不通了。 

你的程式也可以藉由查看 "netstat" 的输出,来找出这次的 finger 是从那里 
连过来的,但是这并无法看出远端执行 finger 的人是谁。 

想要知道远端的人是谁,必须要远端的机器有跑支援如 RFC 931 的识别程式才 
行。 

现在,在常见的 BSD 系统上就有三种 RFC 931 的实做程式,同时也有许多的 
应用程式(如 wuarchive ftpd)支援。如果你想得到更多有关 RFC 931 的资 
讯,可以加入 rfc931-user 的 mailing list, 
rfc931-users-request@kramden.acf.nyu.edu。 

另外还有三个注意事项。第一,有许多的 NFS 系统无法正确地处理 "named 
pipe"。这个意思是,当你要去读放在另一部机器上的 pipe 时,可能会被系统 
block 住直到time out,或是因为 pipe 的档案长度是 0 所以系统就不把它的 
内容列出来。 

第二,在许多的系统中,fingerd 会在读 .plan 档之前先去检查它里面是否真 
的有资料并且是可以读的。这样就会造成远端 finger 你的人根本就看不到你 
的 .plan 档,因为你的 .plan 长度是 0。 

第三,支援 "named pipe" 的系统通常在同一个时间里只允许系统中存在某个固 
定数目的 pipes,检查 kernel 的 config 档和 FIFOCNT 选项即可得知。如果 
系统中的 pipe 数目超过了 FIFOCNT,那么系统就会暂停所有新的 pipe 直到有 
人关掉他先前???nbsp;pipe。这是因为 pipe 所用到的 buffer 是放在 
non-paged 的记忆体中。

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 07:37 , Processed in 0.132168 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部