如何将ipv6地址转换为nodejs expressjs中的ipv4地址?

NODEJS的请求对象提供了这个方法req.connection.remoteAddres来获取客户端的IP地址,但是它给出了IPV6格式的地址,我怎么把它转换成更可读的IPV4格式呢?

如果IPv6地址以::ffff:开头::ffff:那么客户::ffff:在与IPv4通信到IPv6应用程序。 在这种情况下,地址的其余部分就是IPv4地址。 它可能写成::ffff:10.11.12.13 ,在这种情况下,你可以很容易地看到IPv4地址。 它也可以写成::ffff:0a0b:0c0d::ffff:a0b:c0d ,在这种情况下需要将地址的最后一部分从hex转换为十进制。

如果IPv6地址不是以::ffff:开始的,那么客户端确实与IPv6进行通信,并且不可能进行转换,因为IPv4和IPv6是不同地址的不同协议。 系统可以只有IPv4,只有IPv6或两者的组合。 通过查看地址,你无法知道这一点。

Interesting Posts