icon.svg•7.4 kB
<svg width="120" height="120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Background gradient -->
<radialGradient id="bgGrad" cx="50%" cy="50%" r="60%">
<stop offset="0%" style="stop-color:#0a0a0a;stop-opacity:1" />
<stop offset="100%" style="stop-color:#000000;stop-opacity:1" />
</radialGradient>
<!-- Main accent gradient -->
<linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#00ff41;stop-opacity:1" />
<stop offset="50%" style="stop-color:#00d4ff;stop-opacity:1" />
<stop offset="100%" style="stop-color:#0066ff;stop-opacity:1" />
</linearGradient>
<!-- Scan wave gradient -->
<radialGradient id="scanWave" cx="50%" cy="50%" r="50%">
<stop offset="0%" style="stop-color:#00ff41;stop-opacity:0.8" />
<stop offset="70%" style="stop-color:#00d4ff;stop-opacity:0.4" />
<stop offset="100%" style="stop-color:#00d4ff;stop-opacity:0" />
</radialGradient>
<!-- Node glow -->
<radialGradient id="nodeGlow" cx="50%" cy="50%" r="50%">
<stop offset="0%" style="stop-color:#ffffff;stop-opacity:1" />
<stop offset="50%" style="stop-color:#00ff41;stop-opacity:0.8" />
<stop offset="100%" style="stop-color:#00ff41;stop-opacity:0" />
</radialGradient>
<!-- Circuit pattern -->
<pattern id="circuit" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
<rect width="20" height="20" fill="none"/>
<path d="M0 10 L5 10 L5 5 L15 5 L15 15 L20 15" stroke="#00ff41" stroke-width="0.5" fill="none" opacity="0.3"/>
</pattern>
</defs>
<!-- Background -->
<rect width="120" height="120" fill="url(#bgGrad)"/>
<!-- Circuit pattern overlay -->
<rect width="120" height="120" fill="url(#circuit)" opacity="0.4"/>
<!-- Outer scanning ring -->
<circle cx="60" cy="60" r="50" stroke="url(#accentGrad)" stroke-width="1" fill="none" stroke-dasharray="5 3" opacity="0.6">
<animateTransform attributeName="transform" attributeType="XML" type="rotate"
from="0 60 60" to="360 60 60" dur="8s" repeatCount="indefinite"/>
</circle>
<!-- Network topology - main structure -->
<!-- Central hub -->
<circle cx="60" cy="60" r="8" fill="url(#nodeGlow)" stroke="#00ff41" stroke-width="2">
<animate attributeName="r" values="6;10;6" dur="3s" repeatCount="indefinite"/>
</circle>
<!-- Primary nodes -->
<circle cx="30" cy="30" r="4" fill="#00d4ff" stroke="#ffffff" stroke-width="1">
<animate attributeName="fill" values="#00d4ff;#00ff41;#00d4ff" dur="4s" repeatCount="indefinite"/>
</circle>
<circle cx="90" cy="30" r="4" fill="#00d4ff" stroke="#ffffff" stroke-width="1">
<animate attributeName="fill" values="#00d4ff;#00ff41;#00d4ff" dur="4s" begin="1s" repeatCount="indefinite"/>
</circle>
<circle cx="30" cy="90" r="4" fill="#00d4ff" stroke="#ffffff" stroke-width="1">
<animate attributeName="fill" values="#00d4ff;#00ff41;#00d4ff" dur="4s" begin="2s" repeatCount="indefinite"/>
</circle>
<circle cx="90" cy="90" r="4" fill="#00d4ff" stroke="#ffffff" stroke-width="1">
<animate attributeName="fill" values="#00d4ff;#00ff41;#00d4ff" dur="4s" begin="3s" repeatCount="indefinite"/>
</circle>
<!-- Secondary nodes -->
<circle cx="60" cy="20" r="3" fill="#0066ff" opacity="0.8"/>
<circle cx="100" cy="60" r="3" fill="#0066ff" opacity="0.8"/>
<circle cx="60" cy="100" r="3" fill="#0066ff" opacity="0.8"/>
<circle cx="20" cy="60" r="3" fill="#0066ff" opacity="0.8"/>
<!-- Connection lines with data flow animation -->
<line x1="60" y1="60" x2="30" y2="30" stroke="url(#accentGrad)" stroke-width="2" opacity="0.7">
<animate attributeName="opacity" values="0.3;1;0.3" dur="2s" repeatCount="indefinite"/>
</line>
<line x1="60" y1="60" x2="90" y2="30" stroke="url(#accentGrad)" stroke-width="2" opacity="0.7">
<animate attributeName="opacity" values="0.3;1;0.3" dur="2s" begin="0.5s" repeatCount="indefinite"/>
</line>
<line x1="60" y1="60" x2="30" y2="90" stroke="url(#accentGrad)" stroke-width="2" opacity="0.7">
<animate attributeName="opacity" values="0.3;1;0.3" dur="2s" begin="1s" repeatCount="indefinite"/>
</line>
<line x1="60" y1="60" x2="90" y2="90" stroke="url(#accentGrad)" stroke-width="2" opacity="0.7">
<animate attributeName="opacity" values="0.3;1;0.3" dur="2s" begin="1.5s" repeatCount="indefinite"/>
</line>
<!-- Secondary connections -->
<line x1="60" y1="60" x2="60" y2="20" stroke="#00d4ff" stroke-width="1" opacity="0.5"/>
<line x1="60" y1="60" x2="100" y2="60" stroke="#00d4ff" stroke-width="1" opacity="0.5"/>
<line x1="60" y1="60" x2="60" y2="100" stroke="#00d4ff" stroke-width="1" opacity="0.5"/>
<line x1="60" y1="60" x2="20" y2="60" stroke="#00d4ff" stroke-width="1" opacity="0.5"/>
<!-- Scanning radar sweep -->
<g>
<path d="M60 60 L60 15 A45 45 0 0 1 105 60 Z" fill="url(#scanWave)" opacity="0.3">
<animateTransform attributeName="transform" attributeType="XML" type="rotate"
from="0 60 60" to="360 60 60" dur="3s" repeatCount="indefinite"/>
</path>
</g>
<!-- Data packets -->
<circle cx="45" cy="45" r="1.5" fill="#00ff41">
<animateMotion dur="2s" repeatCount="indefinite">
<path d="M0 0 L15 15"/>
</animateMotion>
</circle>
<circle cx="75" cy="45" r="1.5" fill="#00ff41">
<animateMotion dur="2s" begin="0.5s" repeatCount="indefinite">
<path d="M0 0 L-15 15"/>
</animateMotion>
</circle>
<!-- Central NMAP text -->
<text x="60" y="45" font-family="Orbitron, Monaco, monospace" font-size="12" fill="#ffffff" text-anchor="middle" font-weight="bold">NMAP</text>
<text x="60" y="45" font-family="Orbitron, Monaco, monospace" font-size="12" fill="#00ff41" text-anchor="middle" font-weight="bold" opacity="0.7">NMAP</text>
<!-- Version indicator -->
<text x="60" y="55" font-family="Monaco, monospace" font-size="6" fill="#00d4ff" text-anchor="middle" opacity="0.8">v7.94</text>
<!-- Port scanning indicators -->
<g opacity="0.8">
<rect x="25" y="25" width="2" height="2" fill="#00ff41">
<animate attributeName="opacity" values="0;1;0" dur="0.3s" begin="0s" repeatCount="indefinite"/>
</rect>
<rect x="93" y="25" width="2" height="2" fill="#00ff41">
<animate attributeName="opacity" values="0;1;0" dur="0.3s" begin="0.1s" repeatCount="indefinite"/>
</rect>
<rect x="25" y="93" width="2" height="2" fill="#00ff41">
<animate attributeName="opacity" values="0;1;0" dur="0.3s" begin="0.2s" repeatCount="indefinite"/>
</rect>
<rect x="93" y="93" width="2" height="2" fill="#00ff41">
<animate attributeName="opacity" values="0;1;0" dur="0.3s" begin="0.3s" repeatCount="indefinite"/>
</rect>
</g>
<!-- Status indicators -->
<circle cx="15" cy="15" r="2" fill="#00ff41" opacity="0.9">
<animate attributeName="opacity" values="0.9;0.3;0.9" dur="2s" repeatCount="indefinite"/>
</circle>
<circle cx="105" cy="15" r="2" fill="#ff6600" opacity="0.9">
<animate attributeName="opacity" values="0.9;0.3;0.9" dur="2.5s" repeatCount="indefinite"/>
</circle>
<circle cx="15" cy="105" r="2" fill="#ff0066" opacity="0.9">
<animate attributeName="opacity" values="0.9;0.3;0.9" dur="1.8s" repeatCount="indefinite"/>
</circle>
</svg>