图说adore-ng之端口隐藏

端口隐藏,使用户无法通过netstat之类的命令,得到我们需要隐藏的端口信息。netstat是通过读/proc/net下的文件来完成的。Strace可以看出:netstat的主要操作有:open/read  文件/proc/net/tcp,/proc/net/udp,/proc/net/raw ……,

如下图:

图说adore-ng之端口隐藏_第1张图片

adore-ng的实现:

图说adore-ng之端口隐藏_第2张图片 

adore默认隐藏的是tcp协议的端口2222和7350:

1、找到proc_net的名字为tcp的子项。替换这个子项的get_info函数。

2、我们的get_info函数,首先调用系统原始的get_info函数,得到一个buffer,这个buffer里面装的是/proc/net/tcp这个文件的内容。解析get_info得到的数据,把端口2222和7350的部分过滤掉,然后把过滤之后的内容装到一块新申请的buffer中。最后把我们自己申请得到、过滤了2222和7350端口信息的那块内存返回。

你可能感兴趣的:(tcp,buffer)