View previous topic :: View next topic |
Author |
Message |
oga n00b
Joined: 31 May 2018 Posts: 3
|
Posted: Thu May 31, 2018 3:23 pm Post subject: 'Connection aborted.', error(104, 'Connection reset by peer' |
|
|
Good afternoon,
I have a LINUX machine with the OpenNao distro (based on GENTOO). This machine has Python 2.7.3. I do not have root permissions.
You can download an executable image in Virtualbox (OpenNAO OS VirtualBox 2.1.2) from the following link (you will probably have to create an account):
https://community.ald.softbankrobotics.com/en/resources/software/language/en-gb?sort_by=weight&sort_order=ASC&page=1
My problem is that I am trying to make a call request to an AZURE server that has TLS 1.2, with the following code:
Code: | import requests
url = "www.example.com" # it is not a real url
querystring = {"key":"value",}
headers = {'token': "1234567891234",'Username': "user",'Password':"password"}
#response = requests.request("GET", url, headers=headers, params=querystring)
response = requests.get(url, headers=headers, params=querystring, timeout=30)
|
and I get the following error:
Code: | /var/persistent/home/nao/.local/lib/python2.7/site-packages/urllib3/util/ssl_.py:339: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
SNIMissingWarning
/var/persistent/home/nao/.local/lib/python2.7/site-packages/urllib3/util/ssl_.py:137: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
InsecurePlatformWarning
Traceback (most recent call last):
File "heathrowFI-3.py", line 33, in <module>
response = requests.get(url, headers=headers, params=querystring, timeout=30)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/sessions.py",
line 508, in request
resp = self.send(prep, **send_kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/sessions.py",
line 618, in send
r = adapter.send(request, **kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/adapters.py",
line 490, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))
|
I have tried to make the request on other machines (Windows, Ubuntu) with TLS 1.2 and the result is OK.
To get the TLS version of each machine I used the following command
Code: | python -c "import json, urllib2; print json.load (urllib2.urlopen ('https://www.howsmyssl.com/a/check')) ['tls_version']" |
WINDOWS machine with python 2.7 and TLS 1.2 : The result of the request was OK.
UBUNTU machine with python 2.7 and TLS 1.2 : The result of the request was OK.
I think the error is caused by the TLS 1.0 version of the SSL used by NaoQi. The server to which I make the request is Azure and only supports TLS 1.2.
I have checked its TLS in the browser:
[TLS FROM THE SERVER][1]
I have no possibility to update Python (I do not have root permissions).
Please, do you know how I can make the request work to the server? Should I update the TLS 1.0 to TLS 1.2 on the NAOQI machine? Do you know how to update it ?.
Any help or suggestion would be welcome.
Thanks in advance, regards.
PD.
[1]: https://i.stack.imgur.com/zYhhN.png
[Moderator edit: added [code] tags to preserve output layout; broke long whitespace-free lines in code tags to fix thread layout. -Hu]
Last edited by oga on Fri Jun 01, 2018 8:41 am; edited 3 times in total |
|
Back to top |
|
|
John R. Graham Administrator
Joined: 08 Mar 2005 Posts: 10655 Location: Somewhere over Atlanta, Georgia
|
Posted: Thu May 31, 2018 4:22 pm Post subject: |
|
|
Moved from Networking & Security to Unsupported Software. Not about Gentoo (derivative distributions don't qualify) so it fits better here.
- John _________________ I can confirm that I have received between 0 and 499 National Security Letters. |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22633
|
Posted: Fri Jun 01, 2018 2:01 am Post subject: Re: 'Connection aborted.', error(104, 'Connection reset by p |
|
|
oga wrote: | I have a LINUX machine with the OpenNao distro (based on GENTOO). This machine has Python 2.7.3. I do not have root permissions.
You can download an executable image in Virtualbox (OpenNAO OS VirtualBox 2.1.2) from the following link (you will probably have to create an account): | This sounds wrong / broken. If they give you a virtual machine, you have total control over it, including the root account. oga wrote: | My **problem** is that | Gentoo forums do not use Markdown. Instead, use BBCode to markup your posts. oga wrote: | Code: | url = "www.example-url.com" # it is not a real url |
| Among other domains, www.example.com is reserved to use for placeholders like this.
oga wrote: | Code: | /var/persistent/home/nao/.local/lib/python2.7/site-packages/urllib3/util/ssl_.py:339 |
| This path looks suspicious. It looks like your vendor botched the Python install rather badly.
oga wrote: | Code: | Traceback (most recent call last):
File "heathrowFI-3.py", line 33, in <module>
response = requests.get(url, headers=headers, params=querystring, timeout=30)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/sessions.py",
line 508, in request
resp = self.send(prep, **send_kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/sessions.py",
line 618, in send
r = adapter.send(request, **kwargs)
File "/var/persistent/home/nao/.local/lib/python2.7/site-packages/requests/adapters.py",
line 490, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer')) |
| This is not a TLS error. It is a TCP error. Check that you can connect to the server on port 443. |
|
Back to top |
|
|
oga n00b
Joined: 31 May 2018 Posts: 3
|
Posted: Fri Jun 01, 2018 9:11 am Post subject: Re: 'Connection aborted.', error(104, 'Connection reset by p |
|
|
Thanks for the tips of BBCode styles to use, and for moving the subject to the appropriate section.
The virtual machine is really a SDK (Software Development Kit) tool provided where to do tests. In fact, this machine including root account. This machine is the same installed on a robot (Pepper Aldebaran), where there really is no root account credentials.
Both with the virtual machine and with the robot I get the same error when trying to make the request to the remote server.
In Windows 10 and Ubuntu, I get a OK response from the server.
The original installation of python is in the following directory
/usr/lib/python2.7
If you want to overwrite a library, it must be done at the user level in the following directory
/var/persistent/home/nao/.local/lib/python2.7/site-packages
I tried to install in the virtual machine nmap or telnet to check the port, but I have not succeeded.
Please, could you tell me how I can check if the virtual machine connect to port 443 of the remote Azure host?.
Are you sure it's not a TLS error?
As I read on the following link TLS 1.0 is not supported for Azure servers:
https://social.msdn.microsoft.com/Forums/en-US/9dace9cb-a1a8-4f77-af26-324bc2b6740e/tls-plans-for-azure-app-service?forum=windowsazurewebsitespreview
Any question or suggestion is welcome, I'm really quite lost.
Thank you very much for your help! |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22633
|
Posted: Sat Jun 02, 2018 1:22 am Post subject: |
|
|
If they built bash with USE=net, you could abuse its redirection facility. Try > /dev/tcp/host/port to ask Bash to make a network connection.
You could also try to debug why you cannot install those other tools.
"Connection reset by peer" is a standard error message for TCP. Some other layer could have reused that message, but that is unlikely. |
|
Back to top |
|
|
oga n00b
Joined: 31 May 2018 Posts: 3
|
Posted: Mon Jun 04, 2018 11:09 am Post subject: work-around with java |
|
|
Hu,
Thanks for the tips.
I could not execute the instruction to check the network connection.
I would not know how to debug the causes of the error.
Regarding the causes of the error, I am convinced that it is due to the incompatibility of the TLS version used by the Python library, when making the request to the AZURE server.
I made a "work-around" by executing the request from a script programmed in JAVA. In this way I can successfully perform the request to the server.
After which I will embed this JAVA script in the PYTHON program. I know it's not the best option, but at least it works.
If you consider it appropriate we can close the thread, and unless someone comes up with how to solve the PYTHON problem.
Either way, I am very grateful for the treatment received. You are a great community!
Thanks! |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22633
|
Posted: Tue Jun 05, 2018 1:50 am Post subject: |
|
|
Threads are only closed when they violate forum rules. Otherwise, they are marked solved and people cease posting to them because there is nothing more to say. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|