水木清华BBS集锦:怎样去掉Solaris系统登录时的逆向解析

发信人:;cirrus;(望眼欲穿),;信区:;Unix;;;;;
标;;题:;Re:;我该怎样去掉Solaris系统登录时的逆向解析
发信站:;BBS;水木清华站;(Tue;Oct;26;11:33:54;1999)



我在Linux和FreeBSD下做过,改inetd、telnetd、login
之类的程序,把里面用到gethostbyaddr()去掉就可以了 。
Solaris没有源代码,估计是很难搞定的 。
或许可以自己写一个dll,用LD_PRELOAD屏蔽掉gethostbyaddr()
的功能?

【;在;Elale;(虎子);的大作中提到:;】
:;;;关于Solaris系统登录的问题
:;;;我现在用的是Solaris2.5.1操作系统,每次登录的时候都需要
:;逆向解析我的登录地址 。但是因为有时候我是拨号上来的,所以
:;地址一般都不知道是什么,所以就显得特别的慢 。我不能通过向
:;/etc/hosts添加一条记录来修正这个问题,因为我根本不知道地址
:;是什么?
:;;;我该怎样去掉Solaris系统登录时的逆向解析?
:;;;多谢!


--

发信人:;hellguard;(小四),;信区:;Unix;;;;;
标;;题:;Re:;我该怎样去掉Solaris系统登录时的逆向解析
发信站:;BBS;水木清华站;(Tue;Oct;26;17:28:55;1999)

【;在;cirrus;(望眼欲穿);的大作中提到:;】
:;或许可以自己写一个dll,用LD_PRELOAD屏蔽掉gethostbyaddr()
:;的功能?

这招比较黑,可是我觉得也是理论上的吧 。
gethostbyaddr之外的那些库函数你打算怎么
提供,一般都在同一个so中的呀 。有没有办法
用什么bin编辑器把这个函数的return语句提前
到进入点上,就是无论如何都返回失败,不要
做无谓等待,不过咱对so很不熟悉,不敢动刀,
也是理论上说说

--

发信人:;cirrus;(望眼欲穿),;信区:;Unix;;;;;
标;;题:;Re:;我该怎样去掉Solaris系统登录时的逆向解析
发信站:;BBS;水木清华站;(Tue;Oct;26;20:44:51;1999)





【;在;hellguard;(小四);的大作中提到:;】
:;这招比较黑,可是我觉得也是理论上的吧 。
:;gethostbyaddr之外的那些库函数你打算怎么
:;提供,一般都在同一个so中的呀 。有没有办法
这是WindowsDLL的想法吧 。
Unix下用LD_PRELOAD可以只替换感兴趣的函数,
其余的还是调用原来的 。
我试过用LD_PRELOAD加载自己写的一个几行的dll,
然后程序里的puts()不管什么参数统统输出helloworld,嘿嘿 。
我试试看改一下gethostbyaddr()吧 。不过我对solaris下
做dll一点经验都没有,嘿嘿 。

:;用什么bin编辑器把这个函数的return语句提前
:;到进入点上,就是无论如何都返回失败,不要
:;做无谓等待,不过咱对so很不熟悉,不敢动刀,
:;也是理论上说说


--

发信人:;cirrus;(望眼欲穿),;信区:;Unix;;;;;
标;;题:;去掉solaris登录时的反向域名解析
发信站:;BBS;水木清华站;(Tue;Oct;26;22:23:38;1999)

/*;rdns.c;*/
#include;

struct;hostent;;*gethostbyaddr(const;char;*;a,;int;s,;int;t)
{
return;NULL;
}


用gcc;-o;rdns.so;-Wl,-G;rdns.c
得到rdns.so,放到/usr/lib/下 。kill掉inetd,然后
LD_PRELOAD=/usr/lib/rdns.so;/usr/sbin/inetd;-s
这一句可以考虑放到/etc/init.d/inetsvc里

    推荐阅读