Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

autobahn-testsuite support for IPv6 #115

Open
Pioter44 opened this issue Mar 25, 2021 · 1 comment
Open

autobahn-testsuite support for IPv6 #115

Pioter44 opened this issue Mar 25, 2021 · 1 comment

Comments

@Pioter44
Copy link

Hi,

I'm testing Websocket client and server using 'autobahn-testsuite':

  • I've tested Websocket client and server with 'autobahn-testsuite' for IPv4 and everything is working

When I want to test Websocket client with 'autobahn-testsuite' for IPv6 then the Websocket client cannot connect with 'autobahn-testsuite' fuzzing server.

  • Is any one faced similar issue?
  • Does 'autobahn-testsuite' support IPv6?
  • is my fuzzingserver.json file for IPv6 correct?
    My IP settings was:
    user@user-VirtualBox:~$ ifconfig
    enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 192.18.32.6 netmask 255.255.255.0 broadcast 192.18.32.255
    inet6 fd53:7cb8:383:4::11c prefixlen 64 scopeid 0x0
    ether 02:84:cf:3b:be:00 txqueuelen 1000 (Ethernet)

I did some investigation and it seems that 'autobahn-testsuite' fuzzing server is not working for IPv6:
a) Checking if Autobahn-testsuite is working for "localhost" IP settings in fuzzingserver.json file
I. fuzzingserver.json file
{
"url": "ws://localhost:7681",
"options": {"failByDrop": false},
"outdir": "./reports/clients",
"webport": 0,

"cases": ["1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6", "1.1.7", "1.1.8", "1.2.1", "1.2.2", "1.2.3", "1.2.4", "1.2.5", "1.2.6", "1.2.7", "1.2.8", "2.1"],
"exclude-cases": [],
"exclude-agent-cases": {}
}

II. Running Fuzzing server
    VirtualBox:~//WebSocket/WS_Test/TestClient/ModeFuzzingServer/SACID_LWS_CS5916$ wstest --mode=fuzzingserver

/home/user//WebSocket/WS_Test/Python_venvs/wstest/lib/python2.7/site-packages/OpenSSL/crypto.py:14: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
from cryptography import utils, x509
Using implicit spec file 'fuzzingserver.json'
Loading spec from /home/user/WebSocket/WS_Test/TestClient/ModeFuzzingServer/SACID_LWS_CS5916/fuzzingserver.json

Using Twisted reactor class <class 'twisted.internet.epollreactor.EPollReactor'>
Using UTF8 Validator class <type 'wsaccel.utf8validator.Utf8Validator'>
Using XOR Masker classes <type 'wsaccel.xormask.XorMaskerNull'>

Autobahn WebSocket 0.8.1/0.10.9 Fuzzing Server (Port 7681)
Ok, will run 17 test cases for any clients connecting
Cases = ['1.1.1', '1.1.2', '1.1.3', '1.1.4', '1.1.5', '1.1.6', '1.1.7', '1.1.8', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.6', '1.2.7', '1.2.8', '2.1']

III. Checking if Autobahn-testsuite welcom page can be reach through browser (http://192.18.32.10:7681/)
     Answer: Yes - we are getting Autobahn-testsuite welcom page with message: "AutoBahnPython 0.10.9 I'm not Web Server 
     but a WebSocket Endpoint ...."

b) Checking if Autobahn-testsuite is working for "192.18.32.10:7681" IP settings in fuzzingserver.json file
I. fuzzingserver.json file
{
"url": "ws://192.18.32.10:7681",
"options": {"failByDrop": false},
"outdir": "./reports/clients",
"webport": 0,

"cases": ["1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6", "1.1.7", "1.1.8", "1.2.1", "1.2.2", "1.2.3", "1.2.4", "1.2.5", "1.2.6", "1.2.7", "1.2.8", "2.1"],
"exclude-cases": [],
"exclude-agent-cases": {}
}

II. Running Fuzzing server
    VirtualBox:~/WebSocket/WS_Test/TestClient/ModeFuzzingServer/SACID_LWS_CS5916$ wstest --mode=fuzzingserver

/home/user/WebSocket/WS_Test/Python_venvs/wstest/lib/python2.7/site-packages/OpenSSL/crypto.py:14: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
from cryptography import utils, x509
Using implicit spec file 'fuzzingserver.json'
Loading spec from /home/user/WebSocket/WS_Test/TestClient/ModeFuzzingServer/SACID_LWS_CS5916/fuzzingserver.json

Using Twisted reactor class <class 'twisted.internet.epollreactor.EPollReactor'>
Using UTF8 Validator class <type 'wsaccel.utf8validator.Utf8Validator'>
Using XOR Masker classes <type 'wsaccel.xormask.XorMaskerNull'>

Autobahn WebSocket 0.8.1/0.10.9 Fuzzing Server (Port 7681)
Ok, will run 17 test cases for any clients connecting
Cases = ['1.1.1', '1.1.2', '1.1.3', '1.1.4', '1.1.5', '1.1.6', '1.1.7', '1.1.8', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.6', '1.2.7', '1.2.8', '2.1']

III. Checking if Autobahn-testsuite welcom page can be reach through browser (http://192.18.32.10:7681/)
     Answer: Yes - we are getting Autobahn-testsuite welcom page with message: "AutoBahnPython 0.10.9 I'm not Web Server 
     but a WebSocket Endpoint ...."

c) Checking if Autobahn-testsuite is working for "http://[fd53:7cb8:383:4::11c]:7681" IP settings in fuzzingserver.json file
I. fuzzingserver.json file
{
"url": "ws://[fd53:7cb8:383:4::11c]:7681",
"options": {"failByDrop": false},
"outdir": "./reports/clients",
"webport": 0,

"cases": ["1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6", "1.1.7", "1.1.8", "1.2.1", "1.2.2", "1.2.3", "1.2.4", "1.2.5", "1.2.6", "1.2.7", "1.2.8", "2.1"],
"exclude-cases": [],
"exclude-agent-cases": {}
}

II. Running Fuzzing server
    VirtualBox:~/WebSocket/WS_Test/TestClient/ModeFuzzingServer/SACID_LWS_CS5916$ wstest --mode=fuzzingserver

/home/user/WebSocket/WS_Test/Python_venvs/wstest/lib/python2.7/site-packages/OpenSSL/crypto.py:14: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
from cryptography import utils, x509
Using implicit spec file 'fuzzingserver.json'
Loading spec from /home/user/WebSocket/WS_Test/TestClient/ModeFuzzingServer/SACID_LWS_CS5916/fuzzingserver.json

Using Twisted reactor class <class 'twisted.internet.epollreactor.EPollReactor'>
Using UTF8 Validator class <type 'wsaccel.utf8validator.Utf8Validator'>
Using XOR Masker classes <type 'wsaccel.xormask.XorMaskerNull'>

Autobahn WebSocket 0.8.1/0.10.9 Fuzzing Server (Port 7681)
Ok, will run 17 test cases for any clients connecting
Cases = ['1.1.1', '1.1.2', '1.1.3', '1.1.4', '1.1.5', '1.1.6', '1.1.7', '1.1.8', '1.2.1', '1.2.2', '1.2.3', '1.2.4', '1.2.5', '1.2.6', '1.2.7', '1.2.8', '2.1']

III. Checking if Autobahn-testsuite welcom page can be reach through browser (http://[fd53:7cb8:383:4::11c]:7681)
     Answer: NO- we are not getting Autobahn-testsuite welcom page. We are getting page with message: "Unable to connect"

Thanks,
Piotr

@JoakimCh
Copy link

JoakimCh commented Aug 4, 2022

I'm not against IPv6 support. But I also don't see any meaning in testing against it if the test over IPv4 already was a success, it's not like anything should behave different. You can easily test the IPv6 connectivity without using Autobahn, e.g. connect to your server with the browser and if that works then connect to it with your client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants