| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Port Scanner - Network Security Tool</title> |
| <link rel="stylesheet" href="styles.css"> |
| <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"> |
| </head> |
| <body> |
| <div class="container"> |
| <header class="header"> |
| <div class="header-content"> |
| <h1><i class="fas fa-network-wired"></i> Port Scanner</h1> |
| <p>Professional network port scanning tool</p> |
| </div> |
| </header> |
|
|
| <main class="main-content"> |
| <div class="scanner-form"> |
| <div class="form-group"> |
| <label for="target-ip"> |
| <i class="fas fa-globe"></i> Target IP Address |
| </label> |
| <input type="text" id="target-ip" placeholder="e.g., 192.168.1.1 or 8.8.8.8" required> |
| <button id="ping-btn" class="ping-btn" title="Test connectivity"> |
| <i class="fas fa-satellite-dish"></i> Ping |
| </button> |
| </div> |
|
|
| <div class="form-row"> |
| <div class="form-group"> |
| <label for="start-port"> |
| <i class="fas fa-play"></i> Start Port |
| </label> |
| <input type="number" id="start-port" value="1" min="1" max="65535"> |
| </div> |
| <div class="form-group"> |
| <label for="end-port"> |
| <i class="fas fa-stop"></i> End Port |
| </label> |
| <input type="number" id="end-port" value="1000" min="1" max="65535"> |
| </div> |
| </div> |
|
|
| <div class="form-row"> |
| <div class="form-group"> |
| <label for="timeout"> |
| <i class="fas fa-clock"></i> Timeout (seconds) |
| </label> |
| <input type="number" id="timeout" value="1" min="0.1" max="10" step="0.1"> |
| </div> |
| <div class="form-group"> |
| <label for="threads"> |
| <i class="fas fa-layer-group"></i> Threads |
| </label> |
| <input type="number" id="threads" value="100" min="1" max="500"> |
| </div> |
| </div> |
|
|
| <div class="preset-ports"> |
| <label>Quick Presets:</label> |
| <div class="preset-buttons"> |
| <button class="preset-btn" data-start="1" data-end="1000">Common (1-1000)</button> |
| <button class="preset-btn" data-start="1" data-end="65535">All Ports</button> |
| <button class="preset-btn" data-start="80" data-end="443">Web (80-443)</button> |
| <button class="preset-btn" data-start="20" data-end="25">FTP/SSH (20-25)</button> |
| </div> |
| </div> |
|
|
| <button id="scan-btn" class="scan-btn"> |
| <i class="fas fa-search"></i> Start Scan |
| </button> |
| </div> |
|
|
| <div class="progress-section" id="progress-section" style="display: none;"> |
| <div class="progress-bar"> |
| <div class="progress-fill" id="progress-fill"></div> |
| </div> |
| <div class="progress-text" id="progress-text">Preparing scan...</div> |
| </div> |
|
|
| <div class="results-section" id="results-section" style="display: none;"> |
| <div class="results-header"> |
| <h2><i class="fas fa-list-ul"></i> Scan Results</h2> |
| <div class="results-summary" id="results-summary"></div> |
| </div> |
| |
| <div class="results-actions"> |
| <button id="export-btn" class="export-btn"> |
| <i class="fas fa-download"></i> Export Results |
| </button> |
| <button id="clear-btn" class="clear-btn"> |
| <i class="fas fa-trash"></i> Clear Results |
| </button> |
| </div> |
|
|
| <div class="results-table-container"> |
| <table class="results-table" id="results-table"> |
| <thead> |
| <tr> |
| <th>Port</th> |
| <th>Status</th> |
| <th>Service</th> |
| <th>Protocol</th> |
| </tr> |
| </thead> |
| <tbody id="results-tbody"> |
| </tbody> |
| </table> |
| </div> |
| </div> |
|
|
| <div class="info-section"> |
| <div class="info-card"> |
| <h3><i class="fas fa-info-circle"></i> About Port Scanning</h3> |
| <p>Port scanning is a method for determining which ports on a network are open and could be receiving or sending data. This tool uses TCP connect scanning to test connectivity to specific ports on target systems.</p> |
| |
| <div class="common-ports"> |
| <h4>Common Ports:</h4> |
| <div class="port-list"> |
| <span class="port-item">22 (SSH)</span> |
| <span class="port-item">23 (Telnet)</span> |
| <span class="port-item">25 (SMTP)</span> |
| <span class="port-item">53 (DNS)</span> |
| <span class="port-item">80 (HTTP)</span> |
| <span class="port-item">110 (POP3)</span> |
| <span class="port-item">143 (IMAP)</span> |
| <span class="port-item">443 (HTTPS)</span> |
| <span class="port-item">993 (IMAPS)</span> |
| <span class="port-item">995 (POP3S)</span> |
| </div> |
| </div> |
| </div> |
| </div> |
| </main> |
|
|
| <footer class="footer"> |
| <p>© 2024 Port Scanner Tool. Use responsibly and only on networks you own or have permission to test.</p> |
| </footer> |
| </div> |
|
|
| <div id="notification" class="notification"></div> |
|
|
| <script src="script.js"></script> |
| </body> |
| </html> |
|
|
|
|