This commit is contained in:
2024-07-08 13:40:49 +02:00
parent 490fc9cb8a
commit 429958600e
4 changed files with 128 additions and 16 deletions

24
SSH_Agent/main.py Normal file
View File

@@ -0,0 +1,24 @@
#! /usr/bin/env python3.12
import subprocess
def import_ssh_keys_to_agent(privat_key = str):
try:
run_add_key = subprocess.run(
["/usr/bin/ssh-add", privat_key, '>>', "/dev/null"],
shell=False,
text=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
timeout=1,)
except subprocess.TimeoutExpired:
return False
print(run_add_key)
if run_add_key.returncode == 0:
return True
else:
return False
print(import_ssh_keys_to_agent(privat_key="/home/jonnybravo/.ssh/ansible-test"))

View File

@@ -0,0 +1,14 @@
[defaults]
#inventory = /home/user06/hosts
inventory = ./test.py
ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S on {host}
private_key_file = /home/jonnybravo/.ssh/ansible-test
gathering = smart
fact_caching = yaml
fact_caching_timeout = 3600
fact_caching_connection = fact
library = lib
lookup_plugins = lookup
filter_plugins = ./filter

66
play_ansible/inv_plugin/test.py Executable file
View File

@@ -0,0 +1,66 @@
#! /usr/bin/env python3.12
import scapy.all as scapy
import json
import socket
def scan(ip):
arp_request = scapy.ARP(pdst=ip)
broadcast = scapy.Ether(dst="ff:ff:ff:ff:ff:ff")
arp_request_broadcast = broadcast / arp_request
answered_list = scapy.srp(arp_request_broadcast, timeout=1, verbose=False)[0]
results = []
for element in answered_list:
result = {"ip": element[1].psrc, "mac": element[1].hwsrc, 'hostname': socket.gethostbyaddr(element[1].psrc)[0]}
results.append(result)
return results
def test_port(address: str, dest_port: int) -> bool:
try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
if sock.connect_ex((address, dest_port)) == 0:
return True
return False
except (OSError, ValueError):
return False
def create_ip_list(target_ip="192.168.50.1/24"):
only_ip_list = []
for i in scan(target_ip):
#print(test_port(address=i['ip'], dest_port=22))
if i['hostname'] != ".":
only_ip_list.append(i['hostname'])
else:
only_ip_list.append(i['ip'])
return only_ip_list
def scan_csv(csv_file=str):
pass
if __name__ == "__main__":
ip_list = create_ip_list()
output = {
"_meta": {
"hostvars": {
"webprod": {
"http_port": 123,
}
}
},
"network-scan": {
"hosts": ip_list,
"vars": {
"ansible_user": "jonnybravo",
"ansible_python_interpreter": "/usr/bin/python3",
"ansible_ssh_private_key_file": "/home/jonnybravo/.ssh/ansible-test"
}
}
}
print(json.dumps(output,indent=4, sort_keys=True))

View File

@@ -1,35 +1,43 @@
#! /usr/bin/env python3.10 #! /usr/bin/env python3
import os import os
def show_all_files_directory(dir_path = str, search_endung = False, search_string = False): def show_all_files_directory(dir_path = str, search_endung = False, search_string = False):
li_all = [] li_all = []
for root_folder, dirs, files in os.walk(dir_path, topdown=False): for (root_folder, dirs, files) in os.walk(dir_path, topdown=False):
for name in files: for name in files:
FullPATH = str(os.path.join(root_folder, name)) FullPATH = [str(os.path.join(root_folder, name)), name]
if not search_endung is False: if not search_endung is False:
if FullPATH.endswith(search_endung): if FullPATH.endswith(search_endung):
li_all.append(FullPATH) li_all.append(FullPATH)
elif not search_string is False: elif not search_string is False:
if not FullPATH.find(search_string) == -1: if not FullPATH.find(search_string) == -1:
li_all.append(FullPATH) li_all.append(FullPATH)
else: else:
li_all.append(FullPATH) li_all.append(FullPATH)
return li_all return li_all
def main(check_list = list, main_folder_in = str):
output_list = []
for folder_name in check_list:
main_folder =main_folder_in + os.sep + folder_name
if os.path.exists(main_folder):
run_file_check = show_all_files_directory(dir_path=main_folder)
for file_name in run_file_check:
output_list.append(str(folder_name + '=' +file_name[1]))
else:
print(main_folder, "existiert nicht")
return output_list
# print(os.get_exec_path())
def main():
# test = show_all_files_directory(dir_path=os.sep + "home" + os.sep + "jonnybravo" + os.sep + "Downloads", search_string="linux")
# for i in test:
# print(i)
print(os.get_exec_path())
if __name__ == "__main__": if __name__ == "__main__":
main() check_folders = ["Downloads", "Dokumente", "diokdkij"]
running_main = main(check_list=check_folders, main_folder_in=os.sep + "home" + os.sep + "jonnybravo")
for run in running_main:
with open("output_file", "a") as file:
print(run, file=file)