forensic-cli 1.2.7__tar.gz → 1.2.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {forensic_cli-1.2.7/src/forensic_cli.egg-info → forensic_cli-1.2.8}/PKG-INFO +1 -4
  2. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/pyproject.toml +1 -4
  3. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/setup.py +1 -1
  4. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/commands/network.py +1 -1
  5. forensic_cli-1.2.8/src/core/network/arp_scan.py +38 -0
  6. {forensic_cli-1.2.7 → forensic_cli-1.2.8/src/forensic_cli.egg-info}/PKG-INFO +1 -4
  7. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/requires.txt +0 -3
  8. forensic_cli-1.2.7/src/core/network/arp_scan.py +0 -16
  9. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/LICENSE +0 -0
  10. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/LICENSE-GPL +0 -0
  11. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/README.md +0 -0
  12. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/setup.cfg +0 -0
  13. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/__init__.py +0 -0
  14. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/commands/__init__.py +0 -0
  15. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/commands/browser.py +0 -0
  16. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/commands/describe.py +0 -0
  17. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/commands/email.py +0 -0
  18. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/commands/utils.py +0 -0
  19. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/cli/main.py +0 -0
  20. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/__init__.py +0 -0
  21. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/browser/browser_history.py +0 -0
  22. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/browser/common_words.py +0 -0
  23. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/browser/downloads_history.py +0 -0
  24. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/browser/fav_screen.py +0 -0
  25. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/browser/logins.py +0 -0
  26. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/browser/unusual_patterns.py +0 -0
  27. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/data/__init__.py +0 -0
  28. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/data/data_recovery.py +0 -0
  29. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/db/db.py +0 -0
  30. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/email/email_parser.py +0 -0
  31. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/email/header_analysis.py +0 -0
  32. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/models/orm.py +0 -0
  33. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/models/schemas.py +0 -0
  34. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/__init__.py +0 -0
  35. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/dns_recon.py +0 -0
  36. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/fingerprinting.py +0 -0
  37. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/ip_info.py +0 -0
  38. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/network_map.py +0 -0
  39. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/ping_sweep.py +0 -0
  40. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/port_scanner.py +0 -0
  41. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/smb_scan.py +0 -0
  42. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/snmp_scan.py +0 -0
  43. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/traceroute.py +0 -0
  44. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/network/utils.py +0 -0
  45. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/registry.py +0 -0
  46. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/utils/__init__.py +0 -0
  47. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/core/utils/gerar_amostras.py +0 -0
  48. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/SOURCES.txt +0 -0
  49. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/dependency_links.txt +0 -0
  50. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/entry_points.txt +0 -0
  51. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/src/forensic_cli.egg-info/top_level.txt +0 -0
  52. {forensic_cli-1.2.7 → forensic_cli-1.2.8}/tests/test_file_inspector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forensic-cli
3
- Version: 1.2.7
3
+ Version: 1.2.8
4
4
  Summary: DevKit Forense - CLI para análise de navegadores e rede
5
5
  Home-page: https://github.com/ErickG123/devkit_forense
6
6
  Author: Erick Gabriel dos Santos Alves
@@ -30,7 +30,6 @@ Requires-Dist: defusedxml==0.7.1
30
30
  Requires-Dist: dnspython==2.7.0
31
31
  Requires-Dist: docopt==0.6.2
32
32
  Requires-Dist: docutils==0.22
33
- Requires-Dist: fastapi==0.116.1
34
33
  Requires-Dist: fonttools==4.59.1
35
34
  Requires-Dist: greenlet==3.2.4
36
35
  Requires-Dist: h11==0.16.0
@@ -78,7 +77,6 @@ Requires-Dist: six==1.17.0
78
77
  Requires-Dist: smbprotocol==1.15.0
79
78
  Requires-Dist: sniffio==1.3.1
80
79
  Requires-Dist: sortedcontainers==2.4.0
81
- Requires-Dist: SQLAlchemy==2.0.43
82
80
  Requires-Dist: starlette==0.47.2
83
81
  Requires-Dist: trio==0.30.0
84
82
  Requires-Dist: trio-websocket==0.12.2
@@ -87,7 +85,6 @@ Requires-Dist: typing-inspection==0.4.1
87
85
  Requires-Dist: typing_extensions==4.14.1
88
86
  Requires-Dist: tzdata==2025.2
89
87
  Requires-Dist: urllib3==2.5.0
90
- Requires-Dist: uvicorn==0.35.0
91
88
  Requires-Dist: websocket-client==1.8.0
92
89
  Requires-Dist: wsproto==1.2.0
93
90
  Requires-Dist: yarg==0.1.10
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "forensic-cli"
7
- version = "1.2.7"
7
+ version = "1.2.8"
8
8
  description = "DevKit Forense - CLI para análise de navegadores e rede"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -31,7 +31,6 @@ dependencies = [
31
31
  "dnspython==2.7.0",
32
32
  "docopt==0.6.2",
33
33
  "docutils==0.22",
34
- "fastapi==0.116.1",
35
34
  "fonttools==4.59.1",
36
35
  "greenlet==3.2.4",
37
36
  "h11==0.16.0",
@@ -79,7 +78,6 @@ dependencies = [
79
78
  "smbprotocol==1.15.0",
80
79
  "sniffio==1.3.1",
81
80
  "sortedcontainers==2.4.0",
82
- "SQLAlchemy==2.0.43",
83
81
  "starlette==0.47.2",
84
82
  "trio==0.30.0",
85
83
  "trio-websocket==0.12.2",
@@ -88,7 +86,6 @@ dependencies = [
88
86
  "typing_extensions==4.14.1",
89
87
  "tzdata==2025.2",
90
88
  "urllib3==2.5.0",
91
- "uvicorn==0.35.0",
92
89
  "websocket-client==1.8.0",
93
90
  "wsproto==1.2.0",
94
91
  "yarg==0.1.10"
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="forensic_cli",
5
- version="1.2.7",
5
+ version="1.2.8",
6
6
  author="Erick Gabriel dos Santos Alves",
7
7
  author_email="erickgabrielalves0@gmail.com",
8
8
  description="Toolkit modular para análise de evidências digitais",
@@ -18,7 +18,7 @@ network_app = typer.Typer(help="Conjunto de ferramentas para análise e explora
18
18
  @network_app.command("map", help="Mapeia dispositivos ativos na rede e salva os resultados em JSON/CSV")
19
19
  def map(
20
20
  network: str = typer.Option(..., help="Range de IPs da rede. Exemplo: 192.168.1.1-254"),
21
- output_dir: str = typer.Option("../../output", help="Diretório para salvar os resultados"),
21
+ output_dir: str = typer.Option("./output", help="Diretório para salvar os resultados"),
22
22
  ):
23
23
  result = run_network_map(network, output_dir)
24
24
  typer.echo(f"Resultados salvos em: {result['json_file']} e {result['csv_file']}")
@@ -0,0 +1,38 @@
1
+ import typer
2
+ import ipaddress
3
+ from scapy.all import ARP, Ether, srp, sr1, IP, ICMP
4
+
5
+ def is_valid_ip(addr: str) -> bool:
6
+ try:
7
+ ipaddress.ip_address(addr)
8
+ return True
9
+ except ValueError:
10
+ return False
11
+
12
+ def arp_scan(network_ips):
13
+ active_hosts = []
14
+
15
+ ips = [ip for ip in network_ips if is_valid_ip(ip)]
16
+
17
+ typer.echo(f"[+] Iniciando ARP scan ({len(ips)} IPs)...")
18
+
19
+ with typer.progressbar(ips, label="ARP Scan") as progress:
20
+ for ip in ips:
21
+ try:
22
+ pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst=ip)
23
+ ans, _ = srp(pkt, timeout=1, verbose=0)
24
+ if ans:
25
+ active_hosts.append(ip)
26
+
27
+ except Exception:
28
+ try:
29
+ pkt = IP(dst=ip) / ICMP()
30
+ resp = sr1(pkt, timeout=1, verbose=0)
31
+ if resp:
32
+ active_hosts.append(ip)
33
+ except Exception:
34
+ pass
35
+
36
+ progress.update(1)
37
+
38
+ return active_hosts
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forensic-cli
3
- Version: 1.2.7
3
+ Version: 1.2.8
4
4
  Summary: DevKit Forense - CLI para análise de navegadores e rede
5
5
  Home-page: https://github.com/ErickG123/devkit_forense
6
6
  Author: Erick Gabriel dos Santos Alves
@@ -30,7 +30,6 @@ Requires-Dist: defusedxml==0.7.1
30
30
  Requires-Dist: dnspython==2.7.0
31
31
  Requires-Dist: docopt==0.6.2
32
32
  Requires-Dist: docutils==0.22
33
- Requires-Dist: fastapi==0.116.1
34
33
  Requires-Dist: fonttools==4.59.1
35
34
  Requires-Dist: greenlet==3.2.4
36
35
  Requires-Dist: h11==0.16.0
@@ -78,7 +77,6 @@ Requires-Dist: six==1.17.0
78
77
  Requires-Dist: smbprotocol==1.15.0
79
78
  Requires-Dist: sniffio==1.3.1
80
79
  Requires-Dist: sortedcontainers==2.4.0
81
- Requires-Dist: SQLAlchemy==2.0.43
82
80
  Requires-Dist: starlette==0.47.2
83
81
  Requires-Dist: trio==0.30.0
84
82
  Requires-Dist: trio-websocket==0.12.2
@@ -87,7 +85,6 @@ Requires-Dist: typing-inspection==0.4.1
87
85
  Requires-Dist: typing_extensions==4.14.1
88
86
  Requires-Dist: tzdata==2025.2
89
87
  Requires-Dist: urllib3==2.5.0
90
- Requires-Dist: uvicorn==0.35.0
91
88
  Requires-Dist: websocket-client==1.8.0
92
89
  Requires-Dist: wsproto==1.2.0
93
90
  Requires-Dist: yarg==0.1.10
@@ -14,7 +14,6 @@ defusedxml==0.7.1
14
14
  dnspython==2.7.0
15
15
  docopt==0.6.2
16
16
  docutils==0.22
17
- fastapi==0.116.1
18
17
  fonttools==4.59.1
19
18
  greenlet==3.2.4
20
19
  h11==0.16.0
@@ -62,7 +61,6 @@ six==1.17.0
62
61
  smbprotocol==1.15.0
63
62
  sniffio==1.3.1
64
63
  sortedcontainers==2.4.0
65
- SQLAlchemy==2.0.43
66
64
  starlette==0.47.2
67
65
  trio==0.30.0
68
66
  trio-websocket==0.12.2
@@ -71,7 +69,6 @@ typing-inspection==0.4.1
71
69
  typing_extensions==4.14.1
72
70
  tzdata==2025.2
73
71
  urllib3==2.5.0
74
- uvicorn==0.35.0
75
72
  websocket-client==1.8.0
76
73
  wsproto==1.2.0
77
74
  yarg==0.1.10
@@ -1,16 +0,0 @@
1
- from scapy.all import ARP, Ether, srp
2
- import typer
3
-
4
- def arp_scan(network_ips):
5
- active_hosts = []
6
-
7
- typer.echo(f"[+] Iniciando ARP scan ({len(network_ips)} IPs)...")
8
- with typer.progressbar(network_ips, label="ARP Scan") as progress:
9
- for ip in network_ips:
10
- pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst=ip)
11
- ans, _ = srp(pkt, timeout=1, verbose=0)
12
- if ans:
13
- active_hosts.append(ip)
14
- progress.update(1)
15
-
16
- return active_hosts
File without changes
File without changes
File without changes
File without changes