Hostchecker is made OS independent and validate_before_scan is added as an option

This commit is contained in:
Aarush289 2025-10-27 19:03:19 +05:30
parent 8102395b19
commit cd4e5abab8
No known key found for this signature in database
26 changed files with 36 additions and 5 deletions

View File

@ -162,6 +162,7 @@ class DefaultSettings(ConfigBase):
show_all_profiles = False
show_help_menu = False
show_version = False
validate_before_scan = False
skip_service_discovery = False
socks_proxy = None
targets = None

View File

@ -207,7 +207,6 @@ class Nettacker(ArgParser):
Returns:
True when it ends
"""
log.info("Process started!!")
scan_id = common_utils.generate_random_token(32)
log.info("ScanID: {0}".format(scan_id))
log.info(_("regrouping_targets"))
@ -216,14 +215,12 @@ class Nettacker(ArgParser):
self.arguments.targets = self.expand_targets(scan_id)
if not self.arguments.targets:
log.info(_("no_live_service_found"))
log.info("Process done!!")
return True
exit_code = self.start_scan(scan_id)
create_report(self.arguments, scan_id)
if self.arguments.scan_compare_id is not None:
create_compare_report(self.arguments, scan_id)
log.info("ScanID: {0} ".format(scan_id) + _("done"))
log.info("Process done!!")
return exit_code
def start_scan(self, scan_id):
@ -308,7 +305,7 @@ class Nettacker(ArgParser):
return []
if max_workers is None:
max_workers = min(len(targets), 64) # cap threads
max_workers = min(len(targets), 10) # cap threads
# Preserve order
canon_by_index = [None] * len(targets)
@ -345,7 +342,7 @@ class Nettacker(ArgParser):
def scan_target_group(self, targets, scan_id, process_number):
if(not self.arguments.socks_proxy):
if(not self.arguments.socks_proxy and self.arguments.validate_before_scan):
targets = self.filter_valid_targets(
targets,
timeout_per_target=2.0,

View File

@ -355,6 +355,15 @@ class ArgParser(ArgumentParser):
dest="skip_service_discovery",
help=_("skip_service_discovery"),
)
method_options.add_argument(
"-C" ,
"--validate-before-scan",
action="store_true",
default=Config.settings.validate_before_scan,
dest= "validate_before_scan",
help=_("validate_before_scan"),
)
method_options.add_argument(
"-t",
"--thread-per-host",

View File

@ -22,6 +22,7 @@ username_from_file: قراءة اسم المستخدم (ق) من الملف
password_separator: كلمة (كلمات) المرور ، منفصلة مع "،"
read_passwords: قراءة كلمة (كلمات) من الملف
port_separator: قائمة port (s) ، منفصلة مع "،"
validate_before_scan: تحقق مسبقًا من الأهداف/الاتصال قبل الفحص؛ سيتم تخطي الأهداف غير القابلة للوصول
time_to_sleep: وقت للنوم بين كل طلب
error_target: لا يمكن تحديد الهدف (الأهداف)
error_target_file: "لا يمكن تحديد الهدف (الأهداف) ، غير قادر على فتح الملف: {0}"

View File

@ -21,6 +21,7 @@ connection_retries: সংযোগ সময়সীমা (ডিফল্ট
current_version: আপনি কোড নাম {3}{4}{5} সহ OWASP Nettacker সংস্করণ {0}{1}{2}{6} চালাচ্ছেন
database_connect_fail: ডাটাবেস সংযোগ করতে পারে না!
database_connection_failed: সংযোগ নির্বাচিত ডাটাবেস থেকে ব্যর্থ হয়েছে
validate_before_scan: স্ক্যানের আগে টার্গেট/কানেক্টিভিটি প্রি-ভ্যালিডেট করুন; যেগুলো পৌঁছানো যায় না সেগুলো বাদ দেওয়া হবে
define_white_list: "হোয়াইট লিস্ট হোস্টকে সংজ্ঞায়িত করুন, এটি আলাদা করুন, (উদাহরণ: 127.0.0.1, 1 9 2.168.0.1/24, 10.0.0.1-10.0.0.255 )"
engine: ইঞ্জিন
filtered_content: ... [রিপোর্টে পূর্ণ সামগ্রী দেখুন]

View File

@ -15,6 +15,7 @@ target_input: Zieleingabeoptionen
target_list: Ziel (e) Liste, getrennt mit ","
read_target: Lese Ziel (e) aus Datei
scan_method_options: Scan-Methodenoptionen
validate_before_scan: "Ziele/Konnektivität vor dem Scan vorvalidieren; nicht erreichbare Ziele werden übersprungen."
choose_scan_method: Suchmethode {0} auswählen
exclude_scan_method: Suchmethode auswählen, um {0} auszuschließen
username_list: Benutzername (s) Liste, getrennt mit ","

View File

@ -18,11 +18,13 @@ target_input: Επιλογές εισαγωγής στόχων
target_list: λίστα στόχων, χωριστά με ","
read_target: να διαβάσετε τους στόχους από το αρχείο
scan_method_options: Επιλογές μεθόδου σάρωσης
validate_before_scan: Προέλεγχος στόχων/συνδεσιμότητας πριν από τη σάρωση· οι μη προσβάσιμοι στόχοι παραλείπονται
choose_scan_method: επιλέξτε τη μέθοδο σάρωσης {0}
exclude_scan_method: επιλέξτε μέθοδο σάρωσης για να εξαιρέσετε {0}
username_list: όνομα χρήστη (ες), χωριστά με ","
username_from_file: να διαβάσετε το όνομα χρήστη από το αρχείο
password_separator: λίστα κωδικών πρόσβασης, ξεχωριστά με ","
validate_before_scan: Προέλεγχος στόχων/συνδεσιμότητας πριν από τη σάρωση· οι μη προσβάσιμοι στόχοι παραλείπονται
read_passwords: διαβάζουν τον κωδικό πρόσβασης από το αρχείο
port_separator: λίστα λιμένων, χωριστά με ","
time_to_sleep: χρόνος για ύπνο μεταξύ κάθε αιτήματος

View File

@ -11,6 +11,7 @@ API_options: API options
API_port: API port number
Method: Method
skip_service_discovery: skip service discovery before scan and enforce all modules to scan anyway
validate_before_scan: Pre-validate targets/connectivity before scanning; unreachable targets are skipped.
no_live_service_found: no any live service found to scan.
icmp_need_root_access: to use icmp_scan module or --ping-before-scan you need to run the script as root!
available_graph: "build a graph of all activities and information, you must use HTML output. available graphs: {0}"

View File

@ -19,6 +19,7 @@ scan_method_options: Opciones de método de escaneo
choose_scan_method: elija el método de escaneo {0}
exclude_scan_method: elija el método de escaneo para excluir {0}
username_list: nombre de usuario (s) list, separe con ","
validate_before_scan: Prevalidar objetivos/conectividad antes de escanear; los objetivos inaccesibles se omiten
username_from_file: leer nombre (s) de usuario del archivo
password_separator: lista de contraseña (s), separe con ","
read_passwords: leer contraseña (s) del archivo

View File

@ -20,6 +20,7 @@ target_list: لیست هدف (ها)، با "," جدا کنید
read_target: خواندن هدف (ها) از فایل
scan_method_options: گزینه های متود های اسکن
choose_scan_method: متود اسکن را انتخاب کنید {0}
validate_before_scan: قبل از اسکن، هدف‌ها/اتصال بررسی اولیه شوند؛ هدف‌های غیرقابل دسترس نادیده گرفته می‌شوند
exclude_scan_method: انتخاب متود اسکن استثنا {0}
username_list: لیست نام کاربری (ها)، با "," جدا شود
username_from_file: خواندن نام کاربری (ها) از لیست

View File

@ -22,6 +22,7 @@ choose_scan_method: choisissez la méthode de scan {0}
exclude_scan_method: choisissez la méthode de scan pour exclure {0}
username_list: nom d'utilisateur (s), séparé par ","
username_from_file: lire le (s) nom (s) d'utilisateur à partir du fichier
validate_before_scan: Pré-valider les cibles/la connectivité avant lanalyse ; les cibles injoignables sont ignorées
password_separator: mot de passe (s), séparé par ","
read_passwords: lire le (s) mot de passe (s) du fichier
port_separator: port (s) list, séparé par ","

View File

@ -22,6 +22,7 @@ password_separator: पासवर्ड (ओं) सूची, "," से अ
read_passwords: फ़ाइल से पासवर्ड पढ़ें
port_separator: पोर्ट (ओं) सूची, "," से अलग
time_to_sleep: प्रत्येक अनुरोध के बीच रुकने के लिए समय
validate_before_scan: स्कैन से पहले टार्गेट/कनेक्टिविटी का प्री-वैलिडेशन करें; जो टार्गेट पहुँच में नहीं हैं उन्हें छोड़ दिया जाएगा
error_target: लक्ष्य निर्दिष्ट नहीं कर सकते
error_target_file:
"फ़ाइल को खोलने में असमर्थ, लक्ष्य (लक्ष्य) निर्दिष्ट नहीं कर सकते:

View File

@ -23,6 +23,7 @@ username_from_file: կարդացեք օգտվողի անունը (ներ) ը ֆ
password_separator: գաղտնաբառերի ցուցակը, որը առանձին է «,»
read_passwords: կարդալ գաղտնաբառ (ներ) ը ֆայլից
port_separator: պորտ (ներ) ցուցակը, որը առանձին է «,»
validate_before_scan: Սքանավորումից առաջ նախաստուգել թիրախները/կապը; անհասանելի թիրախները կբաց թողնվեն։
time_to_sleep: յուրաքանչյուր խնդրի միջեւ քնելու ժամանակ
error_target: Հնարավոր չէ նշել թիրախ (ներ)
error_target_file: Հնարավոր չէ նշել թիրախ (ներ) ը, չի կարող բացել ֆայլը, {0}

View File

@ -24,6 +24,7 @@ password_separator: daftar kata sandi, terpisah dengan ","
read_passwords: baca kata sandi (s) dari file
port_separator: daftar port (s), terpisah dengan ","
time_to_sleep: waktu untuk tidur di antara setiap permintaan
validate_before_scan: Pra-validasi target/konektivitas sebelum pemindaian; target yang tidak dapat dijangkau akan dilewati
error_target: Tidak dapat menentukan target (s)
error_target_file: "Tidak dapat menentukan target (s), tidak dapat membuka file: {0}"
thread_number_warning:

View File

@ -23,6 +23,7 @@ username_from_file: "leggi username (s) dal file"
password_separator: lista password (s), separare con ","
read_passwords: "leggere password (s) dal file"
port_separator: elenco port (s), separare con ","
validate_before_scan: "Pre-convalidare target/connettività prima della scansione; i target non raggiungibili vengono ignorati"
time_to_sleep: "tempo di dormire tra ogni richiesta"
error_target: "Non è possibile specificare il / i target / i"
error_target_file: "Impossibile specificare il / i target / i, impossibile aprire il file: {0}"

View File

@ -27,6 +27,7 @@ time_to_sleep: זמן לישון בין כל בקשה
error_target: לא ניתן להגדיר את המיקודים
error_target_file: "לא ניתן לציין את היעדים, לא ניתן לפתוח את הקובץ: {0}"
thread_number_warning: עדיף להשתמש במספר פתיל נמוך מ -100, BTW אנחנו ממשיכים ...
validate_before_scan: אמת מראש יעדים/קישוריות לפני הסריקה; יעדים שאינם נגישים ידולגו.
settimeout: להגדיר פסק זמן ל {0} שניות, זה גדול מדי, לא? בדרך שאנחנו ממשיכים ...
scan_module_not_found: מודול הסריקה [{0}] לא נמצא!
error_exclude_all: לא ניתן לבצע אי הכללה של כל שיטות הסריקה

View File

@ -25,6 +25,7 @@ read_passwords: ファイルからパスワードを読み込む
port_separator: ポートリスト、 "、"
time_to_sleep: 各リクエストの間にスリープする時間
error_target: ターゲットを指定できません
validate_before_scan: スキャン前にターゲット/接続性を事前検証します。到達不能なターゲットはスキップされます。
error_target_file: ファイルを開くことができないターゲットを指定することはできません:{0}
thread_number_warning: 100より低いスレッド番号を使用する方が良いです、私たちは継続しています...
settimeout: タイムアウトを{0}秒に設定すると大きすぎますね。私たちが続けているところで...

View File

@ -26,6 +26,7 @@ port_separator: 포트 목록, ","
time_to_sleep: 각 요청 사이에 잠자기 시간
error_target: 타겟을 지정할 수 없습니다.
error_target_file: "파일을 열 수없는 대상을 지정할 수 없습니다 : {0}"
validate_before_scan: 스캔 전에 대상/연결성을 사전 검증합니다. 도달 불가능한 대상은 건너뜁니다.
thread_number_warning: 100보다 낮은 스레드 번호를 사용하는 것이 좋습니다. 계속 진행 중입니다 ...
settimeout: 시간 초과를 {0} 초로 설정하면 너무 큽니다. 그렇지 않습니까? 그런데 우리가 계속 ...
scan_module_not_found: 이 스캔 모듈 [{0}]을 찾을 수 없습니다!

View File

@ -25,6 +25,7 @@ read_passwords: lees wachtwoord (s) uit bestand
port_separator: poort (en) lijst, gescheiden door ","
time_to_sleep: tijd om te slapen tussen elk verzoek
error_target: Kan het doel (de doelen) niet specificeren
validate_before_scan: Targets/verbinding vooraf valideren vóór de scan; onbereikbare targets worden overgeslagen
error_target_file: "Kan doel (en) niet specificeren, kan bestand niet openen: {0}"
thread_number_warning:
het is beter om een draadnummer lager dan 100 te gebruiken,

View File

@ -22,6 +22,7 @@ username_list: د کارن نوموونکي لیست، د "،" سره جلا
username_from_file: د دوتنې څخه کارن نوم
password_separator: د پټنوم (لسټ) لیست، د "،" سره جلا کړئ
read_passwords: د دوتنې څخه پټنوم (پوسټ) ولولئ
validate_before_scan: له سکان مخکې هدفونه/نښلول مخکې له مخکې تایید کړئ؛ ناہرسايل هدفونه پرېښودل کېږي
port_separator: د بندرونو لیست، د "،" سره جلا کول
time_to_sleep: د هرې غوښتنې په منځ کې د خوب کولو وخت
error_target: هدف یا هدف مشخص کولی نشی

View File

@ -28,6 +28,7 @@ username_from_file: ler nome(s) de usuário(s) do arquivo
password_separator: 'lista de senha(s), separe com ","'
read_passwords: ler senhas(s) do arquivo
port_separator: 'lsita de porta(s), separe com ","'
validate_before_scan: Pré-validar alvos/conectividade antes da varredura; alvos inacessíveis serão ignorados
time_to_sleep: tempo para esperar entre cada solicitação
error_target: Não foi possível especificar o(s) alvo(s)
error_target_file: 'Não foi possível especificar o(s) alvo(s), impossível abrir o arquivo: {0}'

View File

@ -32,6 +32,7 @@ settimeout:
установлен таймаут до {0} секунд, он слишком велик, но мы продолжаем...
scan_module_not_found: этот модуль сканирования [{0}] не найден!
error_exclude_all: вы не можете исключить все методы сканирования
validate_before_scan: Предварительно проверять цели/подключение перед сканированием; недоступные цели пропускаются
exclude_module_error: модуль {0}, который вы выбрали для исключения, не найден!
method_inputs:
"введите параметры методов, например: ftp_brute_users = test, admin & ftp_brute_passwds

View File

@ -24,6 +24,7 @@ password_separator: şifre listesi "," ile ayrı
read_passwords: dosyadan şifre (ler) oku
port_separator: port (lar) listesi, "," ile ayrı
time_to_sleep: her istek arasında uyumak için zaman
validate_before_scan: Taramadan önce hedefleri/bağlanılabilirliği önceden doğrula; erişilemeyen hedefler atlanır
error_target: Hedef (ler) belirtilemiyor
error_target_file: "Dosya açılamayan hedef (ler) belirtilemiyor: {0}"
thread_number_warning:

View File

@ -28,6 +28,7 @@ port_separator: بندرگاہ کی فہرست، کے ساتھ علیحدہ "،"
time_to_sleep: ہر درخواست کے درمیان سونے کا وقت
error_target: ہدف مقرر نہیں کر سکتے ہیں
error_target_file: "ہدف (ن) کی وضاحت نہیں کرسکتا، فائل کو کھولنے میں ناکام ہے: {0}"
validate_before_scan: اسکین سے پہلے ٹارگٹس/کنیکٹیوٹی کی ابتدائی توثیق کریں؛ ناقابلِ رسائی ٹارگٹس چھوڑ دیے جائیں گے۔
thread_number_warning:
اس موضوع کو 100 سے زائد کم دھاگے کا استعمال کرنا بہتر ہے، بی
ٹی ڈبلیو ہم جاری رہے گی ...

View File

@ -22,6 +22,7 @@ username_list: (các) tên người dùng, riêng biệt với ","
username_from_file: đọc (các) tên người dùng từ tệp
password_separator: (các) mật khẩu, riêng biệt với ","
read_passwords: đọc (các) mật khẩu từ tệp
validate_before_scan: Tiền kiểm tra mục tiêu/kết nối trước khi quét; các mục tiêu không truy cập được sẽ bị bỏ qua
port_separator: danh sách cổng, tách biệt với ","
time_to_sleep: thời gian để ngủ giữa mỗi yêu cầu
error_target: Không thể chỉ định (các) mục tiêu

View File

@ -23,6 +23,7 @@ username_from_file: 从文件中读取用户名
password_separator: 密码列表,用“,”分开
read_passwords: 从文件中读取密码
port_separator: 端口列表,用“,”分开
validate_before_scan: 在扫描前预先验证目标/连通性;无法访问的目标将被跳过。
time_to_sleep: 每次请求的间隔时间
error_target: 无法指定目标s
error_target_file: 无法指定目标,无法打开文件:{0}