Wednesday, July 2, 2025

IPv6 ranges of newsservers

Based on the overview on https://www.appelboor.com/newsservers/newsservers-with-SSL-TLS-OK.html with about 300 newsservers, I did resolving, and some sorting to find IPv6 ranges of newsservers:


$ lynx --dump https://www.appelboor.com/newsservers/newsservers-with-SSL-TLS-OK.html | grep -E ".*\..*\."  | awk '{ print "host " $1 " > " $1 ".txt"  }' | sh


and only using the left 4x4-octet parts (what's the official name?):


$ cat *.txt | grep "has IPv6 address"   | awk '{ print $NF }'   | awk -F\: '{ print $1 ":" $2 ":" $3 ":" $4 "::" }'   | sort | uniq -c | sort -rn

     59 2001:4de0:3:119::

     40 2a01:788:4:100::

     36 2001:4de0:1:::

     26 2001:67c:174:101::

     16 2a07:8080:119:1fe::

     12 2607:bc40:2:119::

      9 2a07:8080:119:fe::

      8 2a00:1d38:fa:1001::

      5 2a07:8085:119:fe::

      4 2a13:d6c0:1:16::

      4 2607:bc40:0:119::

      2 2a02:d28:10:1b::

      1 2a01:4f9:c012:f55a::

      1 2a01:4f9:4b:44c2::

      1 2a01:4f8:c010:63b5::

      1 2a01:4f8:1c17:f346::

      1 2607:bc40:102:::

      1 2607:bc40:101:::

      1 2607:bc40:100:::

      1 2001:49f0:d086:1000::

      1 1:67c:174:101::



So 2001:4de0:3:119:: is the most occuring IPv6 range (note the funny 119 ... port 119 of NNTP). Which is Eweka. 

Let's see which newsserver point to this range:




$ grep 2001:4de0:3:119 *.txt | awk -F\: '{ print $1 }'   | sort -u | sed -e 's/.txt//'

ams2.sslusenet.com

de.sslusenet.com

news3.snelnl.com

news6.easynews.com

news6.eu.easynews.com

news6.eu.usenetserver.com

news6.fr7.newshosting.com

news6.fr7.usenetserver.com

news6.newshosting.com

news6.pureusenet.nl

news6.sunnyusenet.com

news6.tweaknews.eu

news6.tweaknews.nl

news6.usenetserver.com

news6.xlned.com

news-de6.newshosting.com

news-de.newsgroup.ninja

news-eu6.usenetserver.com

news.extremeusenet.nl

news.newsgroup.ninja

news.premium-news.de

news.shemes.com

news.sslusenet.com

news.usenetbucket.com

pro.sslusenet.com

reader.extremeusenet.nl

reader.snelnl.com

reader.usenetbucket.com

secure6.news.easynews.com

secure6.news.eu.easynews.com

test-eu-ipv6.news.easynews.com

test-eu.news.easynews.com

test-secure-eu-ipv6.news.easynews.com

test-secure-eu.news.easynews.com


Ah: Eweka itself is in another range


$ host news6.eweka.nl

news6.eweka.nl has IPv6 address 2001:4de0:1::219

news6.eweka.nl has IPv6 address 2001:4de0:1::205

news6.eweka.nl has IPv6 address 2001:4de0:1::233


So let's use less octets from the IPv6 addresses: just 2x4octets:


$ cat *.txt | grep "has IPv6 address"   | awk '{ print $NF }'   | awk -F\: '{ print $1 ":" $2 "::" }'   | sort | uniq -c | sort -rn

     95 2001:4de0::

     40 2a01:788::

     26 2001:67c::

     25 2a07:8080::

     19 2607:bc40::

      8 2a00:1d38::

      5 2a07:8085::

      4 2a13:d6c0::

      2 2a02:d28::

      2 2a01:4f9::

      2 2a01:4f8::

      1 2001:49f0::

      1 1:67c::


Eweka number one!


And now the interesting part: which newsservers have IPv4, but have not configured the corresponding IPv6 address in their DNS / name resolving. Bad, bad, bad!!!



IPv6 or no IPv6 ... inferring an IPv6 address of a IPv4-only newsserver

Very hacky, but nice:


The newsserver eu.usenetprime.com has no IPv6 address:


$ host eu.usenetprime.com

eu.usenetprime.com is an alias for usenetprime-eu.tlsusenet.com.

usenetprime-eu.tlsusenet.com has address 185.151.15.173


Pity. But with some analysis of others newsservers, I could infer the IPv6 address, and bingo:


$ telnet -6 2a07:8085:119:fe::173 nntp

Trying 2a07:8085:119:fe::173...

Connected to 2a07:8085:119:fe::173.

Escape character is '^]'.

200 Welcome to UsenetPrime

quit

205 Goodbye

Connection closed by foreign host.



These newsservers are hosted by a wholesaler, and there is logic between IPv4 and IPv6 address:


185.151.15.X --- 2a07:8085:119:fe::X

with X written the same. Which means on the left decimal, and hexadecimal on the right. Just ignore that.



See below how I did it.


Ugly logging of "host <newsserver>" commands:


eu.newsdemon.com.txt-eu.newsdemon.com is an alias for nd-eu.tlsusenet.com.

eu.newsdemon.com.txt:nd-eu.tlsusenet.com has address 185.151.15.176

eu.newsdemon.com.txt:nd-eu.tlsusenet.com has address 185.151.15.186

eu.newsdemon.com.txt-nd-eu.tlsusenet.com has IPv6 address 2a07:8085:119:fe::176

eu.newsdemon.com.txt-nd-eu.tlsusenet.com has IPv6 address 2a07:8085:119:fe::186




eu-tst.newsgroupdirect.com.txt:eu-tst.newsgroupdirect.com has address 185.151.15.171

eu-tst.newsgroupdirect.com.txt:eu-tst.newsgroupdirect.com has address 185.151.15.181

eu-tst.newsgroupdirect.com.txt-eu-tst.newsgroupdirect.com has IPv6 address 2a07:8085:119:fe::181



news-eu.usenetexpress.com.txt:news-eu.usenetexpress.com has address 185.151.15.180

news-eu.usenetexpress.com.txt:news-eu.usenetexpress.com has address 185.151.15.170

news-eu.usenetexpress.com.txt-news-eu.usenetexpress.com has IPv6 address 2a07:8085:119:fe::180

news-eu.usenetexpress.com.txt-news-eu.usenetexpress.com has IPv6 address 2a07:8085:119:fe::170



Manual check that telnet works:



$ telnet -6 2a07:8085:119:fe::180 nntp

Trying 2a07:8085:119:fe::180...

Connected to 2a07:8085:119:fe::180.

Escape character is '^]'.

200 Welcome to UsenetExpress (fe02)

quit

205 Goodbye

Connection closed by foreign host.


Good.


Now the IPv4-only newsserver of which we want to infer the IPv6 address:



$ host eu.usenetprime.com

eu.usenetprime.com is an alias for usenetprime-eu.tlsusenet.com.

usenetprime-eu.tlsusenet.com has address 185.151.15.173



... ending in "117", so let's try 2a07:8085:119:fe::173


$ telnet -6 2a07:8085:119:fe::173 nntp

Trying 2a07:8085:119:fe::173...

Connected to 2a07:8085:119:fe::173.

Escape character is '^]'.

200 Welcome to UsenetPrime

quit

205 Goodbye

Connection closed by foreign host.



Bingo!




Tuesday, March 11, 2025

Easy, bare IPv6 test without DNS: ping 2600::

If you want to test IPv6, without DNS involved, that's easy: ping to 2600::

Fun fact: 2600:: is owned by telco Sprint, and "2600 hertz (2600 Hz) is a frequency in hertz (cycles per second) that was used in telecommunication signaling in mid-20th century long-distance telephone networks using carrier systems". Coincidence ... ?

Linux:

$ ping -c5 2600::

PING 2600::(2600::) 56 data bytes

64 bytes from 2600::: icmp_seq=1 ttl=53 time=13.3 ms

64 bytes from 2600::: icmp_seq=2 ttl=53 time=14.3 ms

64 bytes from 2600::: icmp_seq=3 ttl=53 time=14.4 ms

64 bytes from 2600::: icmp_seq=4 ttl=53 time=14.4 ms

64 bytes from 2600::: icmp_seq=5 ttl=53 time=15.0 ms


--- 2600:: ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4008ms

rtt min/avg/max/mdev = 13.295/14.281/15.014/0.555 ms



Windows:


PS C:\> ping 2600::


Pinging 2600:: with 32 bytes of data:

Reply from 2600::: time=14ms

Reply from 2600::: time=14ms

Reply from 2600::: time=15ms

Reply from 2600::: time=16ms


Ping statistics for 2600:::

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 14ms, Maximum = 16ms, Average = 14ms

PS C:\>




Tuesday, January 28, 2025

IPv6 inside WSL2 on Windows

 IPv6 inside WSL2 on Windows


If your Windows has IPv6, by default the WSL (Windows Subsystem for Linux) has no IPv6.

It's easy to solve this (if you use WSL2): in your Windows home directory, create a file .wslconfig to contain this:


[wsl2]

networkingMode=mirrored


You can do this from inside WSL with nano, as long as you make sure it's inside your Windows home directory (so /mnt/c/Users/<windows-user-name/)

If you use notepad from Windows, make sure the .wslconfig has no extension.

Then reboot Windows, start wsl, and "ip address show" should show your IPv6 inside WSL.


Check WSL version


To check that you have WSL2: from Windows, type "wsl.exe -l -v"


PS C:\> wsl -l -v

  NAME      STATE           VERSION

* Ubuntu    Running         2

Sunday, November 3, 2024

IPv6 inside docker container

By default, a docker container is behind NAT, and thus has no IPv6.

If the host has IPV6, and you want IPv6 inside the docker docker container, in the container startup, use


--network host


so for example:


docker run -it --network host ubuntu:latest /bin/bash


... and then the docker container has the same IP addresses as the host, thus also IPv6.


Friday, October 18, 2024

For fun: disable IPv4 on Ubuntu and go IPv6-only

People often confuse "IPv6" with "IPv6-only". And then state wrong statements. Pity.

But, hey, Let's try what you happens when you go IPV6-only. So let's turn off IPv4.

On Ubuntu, you can do it like this:


sudo nm-connection-editor


In there, go to your active Wifi network, then go to the tab IPv4 Settings. At Method, select "Disabled".  Click Save.

To activate it, disable Wifi, and enable Wifi. And ... bingo ... IPv6-only!

Results:

Ubuntu works

Google, Microsoft and Facebook work

x.com results in a webpage with an error

A lot of Netherlands government sites work

KLM works, Transavia not

Smaller sites don't work





Monday, July 3, 2023

Measure IPv6 versus IPv4 traffic on Windows

 Measure IPv6 versus IPv4 traffic on Windows


On Windows, you can see the amount of IPv6 packets:


PS C:\> netsh interface ipv6 show ipstats | find /i """Receives"""

In Receives:                        3606021


... and IPv4 packets:


PS C:\> netsh interface ipv4 show ipstats | find /i """Receives"""

In Receives:                        71758


So, safely assuming IPv6 and IPv4 have about the same mean packet size, 98% of my traffic is IPv6 traffic.


Note: These are packets. To get an indication of the amount of bytes, multiply with something between 1200 and 1500 (= bytes per packet). The above 3606021 IPv6 packets means about 4.3 GB in bytes IPv6 traffic.