-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimple_test.py
More file actions
74 lines (62 loc) · 2.16 KB
/
Copy pathsimple_test.py
File metadata and controls
74 lines (62 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
"""
تست مستقل اسکنر بدون FastAPI - با دیباگ کامل
"""
import asyncio
import sys
import traceback
print("=" * 60)
print("🔍 شروع تست مستقل اسکنر")
print("=" * 60)
# بررسی importها
try:
print("📦 importing AppConfig...")
from src.core.config import AppConfig
print("✅ AppConfig imported")
except Exception as e:
print(f"❌ خطا در import AppConfig: {e}")
traceback.print_exc()
sys.exit(1)
try:
print("📦 importing ScanEngine...")
from src.core.engine import ScanEngine
print("✅ ScanEngine imported")
except Exception as e:
print(f"❌ خطا در import ScanEngine: {e}")
traceback.print_exc()
sys.exit(1)
try:
print("📦 importing get_logger...")
from src.core.logger import get_logger
print("✅ get_logger imported")
logger = get_logger("Test")
logger.info("✅ logger در تست کار میکند")
except Exception as e:
print(f"❌ خطا در import logger: {e}")
traceback.print_exc()
sys.exit(1)
async def test_scan():
print("\n🔍 شروع تست اسکن...")
try:
config = AppConfig()
config.scan.target_url = "http://dvwa.co.uk"
config.scan.max_depth = 1
config.scan.max_pages = 5
print(f"🎯 هدف: {config.scan.target_url}")
print(f"📋 تنظیمات: Depth={config.scan.max_depth}, Pages={config.scan.max_pages}")
engine = ScanEngine(config)
print("✅ ScanEngine ساخته شد")
await engine.initialize()
print("✅ engine.initialize() اجرا شد")
result = await engine.run()
print(f"✅ اسکن کامل شد: {result.status}")
print(f"📄 صفحات: {len(result.pages_crawled)}")
print(f"🛡️ آسیبپذیریها: {len(result.vulnerabilities)}")
except Exception as e:
print(f"❌ خطا در اسکن: {str(e)}")
print("\n📋 Traceback کامل:")
traceback.print_exc()
if __name__ == "__main__":
asyncio.run(test_scan())
print("\n" + "=" * 60)
print("✅ تست کامل شد")
print("=" * 60)