File size: 6,705 Bytes
e1b4496
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<!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>&copy; 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>