markdown 从userland.md伪造DNS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 从userland.md伪造DNS相关的知识,希望对你有一定的参考价值。

# Faking DNS from userland

To give false DNS responses from userland we need to handle different type of syscalls : `gethostbyname()`, `gethostbyname2()`, `getaddrinfo()`, `getnameinfo()`, etc.
To cover all these cases, and to prevent leaks to real dns servers, we will use two libraries : libresolv_wrapper and libnss_wrapper.


## Installation

Install [resolv_wrapper](https://cwrap.org/resolv_wrapper.html) and [nss_wrapper](https://cwrap.org/nss_wrapper.html), either from sources or from your favorite Linux distribution.


## Configuration

Add the following content to your `.bashrc` (or .profile)

```
export LD_PRELOAD
export NSS_WRAPPER_HOSTS="$HOME/.fakehosts"
export RESOLV_WRAPPER_HOSTS="$HOME/.fakedns"

if [ -f "/usr/local/lib/libresolv_wrapper.so" ]; then
        LD_PRELOAD="/usr/local/lib/libresolv_wrapper.so $LD_PRELOAD"
fi

if [ -f "/usr/local/lib/libnss_wrapper.so" ]; then
        LD_PRELOAD="/usr/local/lib/libnss_wrapper.so $LD_PRELOAD"
fi
```

## Usage 

### Adding a fake DNS

In your `~/.fakehosts` :

```
127.0.0.10      my-super-site.example.com www.my-super-site.example.com
192.168.33.100   fake-dns-for-real-site.com   www.fake-dns-for-real-site.com
```

and in file `~/.fakedns` :

```
A   my-super-site.example.com 127.0.0.10
A   www.my-super-site.example.com 127.0.0.10
A   fake-dns-for-real-site.com 192.168.33.100
A   www.fake-dns-for-real-site.com        192.168.33.100
```

### Using the fake DNS resolver

1. First, make sure the environment variable LD_PRELOAD includes both libraries 
2. then run the program (ex: firefox, chrome) that should access to the fake DNS .



以上是关于markdown 从userland.md伪造DNS的主要内容,如果未能解决你的问题,请参考以下文章

Java如何使用DN从ldap获取属性?

将 $ssl_client_s_dn 从 nginx/uwsgi 传递到烧瓶应用程序

如何使用 R 从图像中提取 RGB DN?

hdfs写数据流程

HDFS——DN整体架构与启动流程

记录我第一篇用Markdown写的Blog