I am having the same issue as amlamarra in the closed issue services can not working. I followed the instructions in the readme. I downloaded through the git one liner. Moved to the Reconnoitre folder and did python3 setup.py install. Ran the command and got the same errors as amlamarra. Am I just not installing it correctly?
I'm also running into trouble. I'm using a fresh copy of the OffSec VMware VM and I installed Reconnoitre per the readme.
```
root@kali:~# reconnoitre -t 10.11.1.116 -o /root/Documents/labs/ --services
__
|\"\"\"\-= RECONNOITRE
(____) An OSCP scanner by @codingo_
[+] Testing for required utilities on your system.
[#] Performing service scans
[*] Loaded single target: 10.11.1.116
[+] Creating directory structure for 10.11.1.116
[>] Creating scans directory at: /root/Documents/labs/10.11.1.116/scans
[>] Creating exploit directory at: /root/Documents/labs/10.11.1.116/exploit
[>] Creating loot directory at: /root/Documents/labs/10.11.1.116/loot
[>] Creating proof file at: /root/Documents/labs/10.11.1.116/proof.txt
[+] Starting quick nmap scan for 10.11.1.116
Process Process-1:
Traceback (most recent call last):
File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.6/dist-packages/Reconnoitre-1.0-py3.6.egg/Reconnoitre/lib/service_scan.py", line 23, in nmap_scan
QUICKSCAN, shell=True,text=True)
File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 403, in run
with Popen(*popenargs, **kwargs) as process:
TypeError: __init__() got an unexpected keyword argument 'text'
```
@jjfromnh Thanks for including your traceback, that's helpful when debugging.
This is a python 3.6/3.7 issue. The constructor for `subprocess.Popen` does not take the `text` keyword argument in the Python 3.6 version, see here:
https://docs.python.org/3.6/library/subprocess.html#subprocess.Popen
It was later added in Python 3.7:
https://docs.python.org/3.7/library/subprocess.html#subprocess.Popen
@m4lvir @jjfromnh You can both remedy this by upgrading your python version to 3.7 and reinstalling reconnoitre.
It does look like we can swap out the usage of `text` for `universal_newlines` in order to be compatible on both 3.6 and 3.7:
From the docs I linked above:
> If text mode is not used, stdin, stdout and stderr will be opened as binary streams. No encoding or line ending conversion is performed.
> New in version 3.6: Added encoding and errors parameters.
> **New in version 3.7: Added the text parameter as an alias for universal_newlines.**
I am getting
root@kali:~/Reconnoitre# python3 -V
Python 3.7.4
root@kali:~/Reconnoitre# python3 setup.py install
Traceback (most recent call last):
File "setup.py", line 2, in <module>
from setuptools import find_packages, setup
ModuleNotFoundError: No module named 'setuptools'
Edit: Nevermind, I did apt-get install -y python3-setuptools, and now Reconnoitre works.