TCPDump Visualizer

.tool-header { margin-bottom: 30px; padding: 25px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); color: white; } .tool-header h2 { margin-top: 0; color: white; font-size: 28px; margin-bottom: 10px; } .tool-header p { margin: 10px 0; opacity: 0.95; font-size: 15px; } .section { background: white; border-radius: 8px; padding: 25px; margin-bottom: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); border: 1px solid #e0e0e0; } .section-title { font-size: 18px; margin-bottom: 15px; color: #333; display: flex; align-items: center; gap: 10px; padding: 15px 20px; background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%); color: white; border-radius: 8px; margin: -25px -25px 20px -25px; } .input-area { margin-bottom: 20px; } label { display: block; font-weight: 600; margin-bottom: 8px; color: #333; } textarea { width: 100%; min-height: 200px; padding: 12px; border: 2px solid #e0e0e0; border-radius: 6px; font-family: 'Courier New', monospace; font-size: 13px; resize: vertical; transition: border-color 0.2s; background: #f9f9f9; } textarea:focus { outline: none; border-color: #667eea; background: white; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); } .controls { display: flex; gap: 15px; flex-wrap: wrap; align-items: center; margin-bottom: 20px; } .control-group { display: flex; flex-direction: column; gap: 5px; } .control-group label { font-size: 0.9em; margin-bottom: 0; } select, input[type="text"] { padding: 10px 15px; border: 2px solid #e0e0e0; border-radius: 6px; font-size: 14px; background: white; transition: border-color 0.2s; } select:focus, input[type="text"]:focus { outline: none; border-color: #667eea; } .btn { padding: 10px 20px; border: none; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); } .btn-primary { background: #4CAF50; color: white; } .btn-primary:hover { background: #45a049; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,0.3); } .btn-secondary { background: #f44336; color: white; } .btn-secondary:hover { background: #da190b; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,0.3); } .btn-success { background: #4CAF50; color: white; } .btn-success:hover { background: #45a049; } .visualization-container { background: #fafafa; border: 2px solid #e0e0e0; border-radius: 8px; padding: 20px; min-height: 400px; position: relative; overflow: hidden; } #canvas-container { overflow: auto; max-height: 800px; position: relative; } #ladder-canvas { border: 1px solid #e0e0e0; background: white; cursor: grab; } #ladder-canvas:active { cursor: grabbing; } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-top: 15px; } .stat-card { background: linear-gradient(135deg, #f0f9ff, #e0f2fe); padding: 15px; border-radius: 6px; border-left: 4px solid #667eea; } .stat-card h4 { color: #666; font-size: 0.9em; margin-bottom: 5px; } .stat-card .value { font-size: 1.8em; font-weight: 700; color: #667eea; } table { width: 100%; border-collapse: collapse; margin-top: 15px; } th, td { padding: 12px; text-align: left; border-bottom: 1px solid #e0e0e0; } th { background: #f8fafc; font-weight: 600; color: #333; cursor: pointer; user-select: none; } th:hover { background: #e2e8f0; } th.sortable::after { content: ' ↕'; opacity: 0.3; } th.sorted-asc::after { content: ' ↑'; opacity: 1; } th.sorted-desc::after { content: ' ↓'; opacity: 1; } tr:hover { background: #f8fafc; } .flow-row { cursor: pointer; } .flow-row.selected { background: #dbeafe !important; } .protocol-badge { display: inline-block; padding: 3px 8px; border-radius: 4px; font-size: 0.85em; font-weight: 600; } .protocol-tcp { background: #dbeafe; color: #1e40af; } .protocol-udp { background: #fef3c7; color: #92400e; } .protocol-icmp { background: #fee2e2; color: #991b1b; } .protocol-other { background: #f3f4f6; color: #374151; } .help-section { background: #fffbeb; border-left: 4px solid #f59e0b; padding: 15px; margin-top: 15px; border-radius: 4px; } .help-section h4 { color: #92400e; margin-bottom: 10px; } .help-section code { background: white; padding: 2px 6px; border-radius: 3px; font-family: 'Courier New', monospace; font-size: 0.9em; border: 1px solid #fde68a; } .help-section ul { margin-left: 20px; margin-top: 10px; } .help-section li { margin-bottom: 5px; } .status-message { padding: 12px 15px; border-radius: 6px; margin-bottom: 15px; display: none; } .status-message.info { background: #dbeafe; color: #1e40af; border-left: 4px solid #2563eb; } .status-message.error { background: #fee2e2; color: #991b1b; border-left: 4px solid #ef4444; } .status-message.success { background: #d1fae5; color: #065f46; border-left: 4px solid #10b981; } .tooltip { position: absolute; background: rgba(0, 0, 0, 0.9); color: white; padding: 10px 15px; border-radius: 6px; font-size: 13px; pointer-events: none; z-index: 1000; max-width: 400px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); display: none; } .tooltip-header { font-weight: 600; margin-bottom: 5px; padding-bottom: 5px; border-bottom: 1px solid rgba(255, 255, 255, 0.3); } .tooltip-body { font-size: 12px; line-height: 1.4; } .timeline-svg { width: 100%; height: 200px; border: 1px solid #e0e0e0; background: white; } .pagination { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 20px; } .pagination button { padding: 8px 15px; } .pagination span { font-weight: 600; color: #666; } .zoom-controls { position: absolute; top: 10px; right: 10px; display: flex; gap: 5px; background: white; padding: 5px; border-radius: 6px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); border: 1px solid #e0e0e0; } .zoom-controls button { padding: 5px 10px; font-size: 12px; } .filter-section { display: flex; gap: 15px; flex-wrap: wrap; margin-bottom: 15px; padding: 15px; background: #f8fafc; border-radius: 6px; } .legend { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 15px; padding: 15px; background: #f8fafc; border-radius: 6px; } .legend-item { display: flex; align-items: center; gap: 8px; } .legend-color { width: 20px; height: 20px; border-radius: 3px; border: 1px solid #e0e0e0; } @media (max-width: 768px) { .controls { flex-direction: column; align-items: stretch; } .stats-grid { grid-template-columns: 1fr; } .tool-header h2 { font-size: 1.5em; } } .loading { display: none; text-align: center; padding: 20px; color: #666; } .loading::after { content: '...'; animation: dots 1.5s infinite; } @keyframes dots { 0%, 20% { content: '.'; } 40% { content: '..'; } 60%, 100% { content: '...'; } } .empty-state { text-align: center; padding: 60px 20px; color: #666; } .empty-state svg { width: 100px; height: 100px; margin-bottom: 20px; opacity: 0.3; } .sunburst-container { display: flex; flex-direction: column; align-items: center; padding: 20px; } .sunburst-controls { display: flex; gap: 10px; margin-bottom: 20px; align-items: center; } .metric-btn { padding: 8px 16px; border: 2px solid #e0e0e0; background: white; border-radius: 4px; cursor: pointer; transition: all 0.3s; font-size: 14px; font-weight: 600; } .metric-btn.active { background: #4CAF50; color: white; border-color: #4CAF50; } .metric-btn:hover:not(.active) { background: #f0f0f0; border-color: #4CAF50; } .sunburst-svg { border: 1px solid #e0e0e0; border-radius: 8px; background: white; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } .sunburst-tooltip { position: absolute; background: rgba(0, 0, 0, 0.85); color: white; padding: 10px; border-radius: 4px; font-size: 12px; pointer-events: none; opacity: 0; transition: opacity 0.2s; z-index: 2000; max-width: 300px; } .sunburst-arc { stroke: #fff; stroke-width: 1px; cursor: pointer; transition: opacity 0.2s; } .sunburst-arc:hover { opacity: 0.8; } .sunburst-center-text { font-size: 14px; font-weight: bold; text-anchor: middle; pointer-events: none; fill: #333; } .sunburst-center-label { font-size: 12px; text-anchor: middle; pointer-events: none; fill: #666; } .sunburst-legend { margin-top: 20px; display: flex; gap: 20px; flex-wrap: wrap; justify-content: center; padding: 15px; background: #f8fafc; border-radius: 6px; }

tcpdump ویزولائزر

tcpdump آؤٹ پٹ کے لیے ایڈوانسڈ نیٹ ورک ٹریفک تجزیہ اور ویژولائزیشن ٹول

ان پٹ ڈیٹا

کوئیک اسٹارٹ گائیڈ

  • pcap کو متن میں تبدیل کریں: tcpdump -r capture.pcap
  • تفصیلات کے ساتھ کیپچر: sudo tcpdump -i eth0 -v
  • ٹائم اسٹیمپ کے ساتھ: sudo tcpdump -i eth0 -tttt
  • فائل میں لکھیں: sudo tcpdump -i eth0 -w capture.pcap
  • مختلف ٹائم اسٹیمپ شیلیوں کے ساتھ معیاری، -v، اور -vv فارمیٹس کو سپورٹ کرتا ہے۔