Saltar a contenido

"text-align: center; margin-bottom: 2rem;" ■img src="/logo/packet-tracer-logo.png" alt="Packet Tracer Logo"="max-width: 200px; altura: auto;" / ■/div titulada

Packet Tracer Cheatsheet

"Display": flex; diferencia: 1rem; margen: 2rem 0; flex-wrap: wrap;"

Button

onClick={() = Conf {} const content = document.querySelector('.markdown').inner Texto; navigator.clipboard.writeText(content); alert('Content copied to clipboard!'); } estilo fondoColor: '#10b981', color: 'blanco', frontera: 'ninguno', '0.5rem 1rem', frontera Radius: '0.375rem', cursor: 'punto', fuente Tamaño: '0.875rem', fontWeight: '500 ' }

📋 Copiar para el tablero ■/buttonilo

Button

onClick={() = Conf {} ventana.print(); } estilo fondoColor: '#3b82f6', color: 'blanco', frontera: 'ninguno', '0.5rem 1rem', frontera Radius: '0.375rem', cursor: 'punto', fuente Tamaño: '0.875rem', fontWeight: '500 ' }

🖨 Print/PDF ■/buttonilo ■/div titulada

Sinopsis

Paquete de Cisco Tracer es una poderosa herramienta de simulación de red diseñada para aprender y enseñar conceptos de redes. Proporciona un entorno virtual donde los estudiantes y profesionales pueden diseñar, configurar y solucionar problemas sin necesidad de hardware físico. Packet Tracer es ampliamente utilizado en cursos Cisco Networking Academy y preparación de certificación CCNA.

Instalación y configuración

Instalación de Windows

# Download from Cisco Networking Academy
# Visit: https://www.netacad.com/courses/packet-tracer
# Requires free Cisco Networking Academy account

# System Requirements:
# - Windows 10/11 (64-bit)
# - 4 GB RAM minimum (8 GB recommended)
# - 1.4 GB free disk space
# - DirectX 9.0c compatible graphics

# Installation steps:
# 1. Download PacketTracer_xxx_Windows_64bit.exe
# 2. Run installer as administrator
# 3. Follow installation wizard
# 4. Launch and sign in with Cisco account

# Verify installation
# Start > Cisco Packet Tracer
# Help > About to check version

Instalación de Linux (Ubuntu/Debian)

# Download .deb package from Cisco Networking Academy
# https://www.netacad.com/courses/packet-tracer

# Install dependencies
sudo apt update
sudo apt install -y libc6:i386 libgcc1:i386 libstdc++6:i386
sudo apt install -y libqt5webkit5 libqt5multimediawidgets5

# Install Packet Tracer
sudo dpkg -i PacketTracer_xxx_amd64.deb

# Fix dependencies if needed
sudo apt-get install -f

# Launch Packet Tracer
packettracer

# Create desktop shortcut
cat > ~/Desktop/PacketTracer.desktop << EOF
[Desktop Entry]
Name=Cisco Packet Tracer
Comment=Network Simulation Tool
Exec=/opt/pt/bin/PacketTracer7
Icon=/opt/pt/art/app.png
Terminal=false
Type=Application
Categories=Education;Network;
EOF

chmod +x ~/Desktop/PacketTracer.desktop

macOS Instalación

# Download from Cisco Networking Academy
# https://www.netacad.com/courses/packet-tracer

# System Requirements:
# - macOS 10.14 or later
# - 4 GB RAM minimum
# - 1.4 GB free disk space

# Installation:
# 1. Download PacketTracer_xxx_mac.dmg
# 2. Open DMG file
# 3. Drag Packet Tracer to Applications folder
# 4. Launch from Applications
# 5. Sign in with Cisco account

# Launch from terminal
open -a "Cisco Packet Tracer"

# Check version
# Packet Tracer > About Packet Tracer

Interface Overview

Principales componentes de la interfaz

# Menu Bar
# File, Edit, Options, View, Tools, Extensions, Help

# Toolbar
# New, Open, Save, Print, Undo, Redo, Copy, Paste, Delete
# Zoom controls, Select, Move, Place Note, Draw shapes

# Device Selection Area
# Network Devices: Routers, Switches, Hubs, Wireless devices
# End Devices: PCs, Servers, Printers, IP phones
# Connections: Cables and wireless connections
# Components: Modules and physical components

# Workspace
# Main area for building network topologies
# Grid-based layout with zoom capabilities
# Multi-tab support for multiple projects

# Simulation Panel
# Realtime/Simulation mode toggle
# Event List for packet simulation
# Play controls for step-by-step simulation
# Zoom Controls
# Zoom In: Ctrl + Plus or mouse wheel up
# Zoom Out: Ctrl + Minus or mouse wheel down
# Zoom to Fit: Ctrl + 0
# Actual Size: Ctrl + 1

# Pan and Move
# Pan workspace: Hold middle mouse button and drag
# Move device: Click and drag device
# Select multiple: Ctrl + click or drag selection box

# Grid and Snap
# Toggle grid: View > Grid
# Snap to grid: View > Snap to Grid
# Grid spacing: Options > Preferences > Interface

# Layers and Organization
# Background images: Options > Preferences > Interface
# Device labels: Click device name to edit
# Notes and annotations: Place Note tool

Basic Network Building

Añadiendo dispositivos

# Router Configuration
# 1. Select Routers from device panel
# 2. Choose router model (e.g., 2911, 4331)
# 3. Click to place in workspace
# 4. Double-click to configure

# Common Router Models:
# - 2911: 3 GigabitEthernet interfaces
# - 4331: 3 GigabitEthernet interfaces, modular
# - 1941: 2 GigabitEthernet interfaces
# - ISR4000: High-performance enterprise router

# Switch Configuration
# 1. Select Switches from device panel
# 2. Choose switch model (e.g., 2960, 3650)
# 3. Click to place in workspace

# Common Switch Models:
# - 2960: 24/48 FastEthernet + 2 GigabitEthernet
# - 3650: 24/48 GigabitEthernet, stackable
# - 2950: Legacy 24 FastEthernet ports
# - 3560: Layer 3 switching capabilities

# End Device Configuration
# 1. Select End Devices
# 2. Choose device type (PC, Server, Laptop)
# 3. Place in workspace
# 4. Configure IP settings

Dispositivos de conexión

# Cable Types and Usage
# Straight-through: Switch to router, switch to PC
# Crossover: Switch to switch, router to router, PC to PC
# Console: For device configuration access
# Serial: WAN connections between routers

# Connection Process
# 1. Click Connections in device panel
# 2. Select appropriate cable type
# 3. Click source device and select interface
# 4. Click destination device and select interface
# 5. Connection appears with link lights

# Auto-select Cable Type
# Use "Automatically Choose Connection Type" 
# Packet Tracer selects appropriate cable automatically
# Copper Straight-Through is most common choice

# Interface Selection
# FastEthernet: Fa0/0, Fa0/1, etc.
# GigabitEthernet: Gig0/0, Gig0/1, etc.
# Serial: Se0/0/0, Se0/1/0, etc.
# Console: Console port for management

Configuración básica del dispositivo

# PC Configuration
# 1. Double-click PC
# 2. Go to Desktop tab
# 3. Click IP Configuration
# 4. Set Static IP or DHCP
# 5. Configure IP address, subnet mask, default gateway

# Example PC Configuration:
# IP Address: 192.168.1.10
# Subnet Mask: 255.255.255.0
# Default Gateway: 192.168.1.1
# DNS Server: 8.8.8.8

# Router Basic Configuration
# 1. Double-click router
# 2. Go to CLI tab
# 3. Press Enter to start
# 4. Type configuration commands

# Basic Router Setup:
Router> enable
Router# configure terminal
Router(config)# hostname R1
R1(config)# interface gigabitethernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# exit
R1# copy running-config startup-config

# Switch Basic Configuration
Switch> enable
Switch# configure terminal
Switch(config)# hostname SW1
SW1(config)# interface vlan1
SW1(config-if)# ip address 192.168.1.2 255.255.255.0
SW1(config-if)# no shutdown
SW1(config-if)# exit
SW1(config)# ip default-gateway 192.168.1.1
SW1(config)# exit
SW1# copy running-config startup-config

Configuración avanzada

VLAN Configuración

# Create VLANs on Switch
SW1> enable
SW1# configure terminal
SW1(config)# vlan 10
SW1(config-vlan)# name SALES
SW1(config-vlan)# exit
SW1(config)# vlan 20
SW1(config-vlan)# name ENGINEERING
SW1(config-vlan)# exit

# Assign Ports to VLANs
SW1(config)# interface fastethernet0/1
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 10
SW1(config-if)# exit

SW1(config)# interface range fastethernet0/2-5
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 20
SW1(config-if-range)# exit

# Configure Trunk Port
SW1(config)# interface fastethernet0/24
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk allowed vlan 10,20
SW1(config-if)# exit

# Verify VLAN Configuration
SW1# show vlan brief
SW1# show interfaces trunk
SW1# show vlan id 10

Inter-VLAN Routing

# Router-on-a-Stick Configuration
# Configure subinterfaces on router
R1> enable
R1# configure terminal
R1(config)# interface gigabitethernet0/0
R1(config-if)# no shutdown
R1(config-if)# exit

# VLAN 10 subinterface
R1(config)# interface gigabitethernet0/0.10
R1(config-subif)# encapsulation dot1q 10
R1(config-subif)# ip address 192.168.10.1 255.255.255.0
R1(config-subif)# exit

# VLAN 20 subinterface
R1(config)# interface gigabitethernet0/0.20
R1(config-subif)# encapsulation dot1q 20
R1(config-subif)# ip address 192.168.20.1 255.255.255.0
R1(config-subif)# exit

# Verify configuration
R1# show ip interface brief
R1# show interfaces gigabitethernet0/0.10

OSPF Configuración

# Configure OSPF on Router R1
R1> enable
R1# configure terminal
R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 192.168.1.0 0.0.0.255 area 0
R1(config-router)# network 10.1.1.0 0.0.0.255 area 0
R1(config-router)# exit

# Configure OSPF on Router R2
R2(config)# router ospf 1
R2(config-router)# router-id 2.2.2.2
R2(config-router)# network 10.1.1.0 0.0.0.255 area 0
R2(config-router)# network 192.168.2.0 0.0.0.255 area 0
R2(config-router)# exit

# Verify OSPF
R1# show ip ospf neighbor
R1# show ip ospf database
R1# show ip route ospf

# OSPF Troubleshooting
R1# debug ip ospf hello
R1# debug ip ospf adj
R1# show ip ospf interface

DHCP Configuración

# Configure DHCP Server on Router
R1> enable
R1# configure terminal

# Create DHCP Pool
R1(config)# ip dhcp pool LAN_POOL
R1(dhcp-config)# network 192.168.1.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.1.1
R1(dhcp-config)# dns-server 8.8.8.8 8.8.4.4
R1(dhcp-config)# lease 7
R1(dhcp-config)# exit

# Exclude static IP addresses
R1(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10

# Enable DHCP service
R1(config)# service dhcp

# Verify DHCP
R1# show ip dhcp binding
R1# show ip dhcp pool
R1# show ip dhcp conflict

# DHCP Relay Configuration
# On router interface connected to DHCP clients
R2(config)# interface gigabitethernet0/0
R2(config-if)# ip helper-address 192.168.1.1

Listas de control de acceso (LAC)

# Standard ACL Configuration
R1> enable
R1# configure terminal

# Create standard ACL
R1(config)# access-list 10 permit 192.168.1.0 0.0.0.255
R1(config)# access-list 10 deny any

# Apply ACL to interface
R1(config)# interface serial0/0/0
R1(config-if)# ip access-group 10 out
R1(config-if)# exit

# Extended ACL Configuration
R1(config)# access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80
R1(config)# access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 443
R1(config)# access-list 100 deny ip any any

# Apply extended ACL
R1(config)# interface gigabitethernet0/1
R1(config-if)# ip access-group 100 in

# Named ACL Configuration
R1(config)# ip access-list extended WEB_FILTER
R1(config-ext-nacl)# permit tcp 192.168.1.0 0.0.0.255 any eq 80
R1(config-ext-nacl)# permit tcp 192.168.1.0 0.0.0.255 any eq 443
R1(config-ext-nacl)# deny ip any any
R1(config-ext-nacl)# exit

# Verify ACLs
R1# show access-lists
R1# show ip interface gigabitethernet0/0

Simulación y Pruebas

Modo de simulación de paquete

# Switch to Simulation Mode
# Click "Simulation" button in bottom right
# Or use Ctrl + Shift + S

# Simulation Controls
# Auto Capture/Play: Automatically capture and play events
# Capture/Forward: Manually step through events
# Back: Go back one event
# Reset Simulation: Clear all events and start over

# Event List Window
# Shows all network events (packets)
# Color-coded by protocol (HTTP, ICMP, etc.)
# Click events to see packet details
# Filter events by protocol type

# Packet Details
# Click on packet in Event List
# Shows OSI layer information
# Inbound/Outbound PDU details
# Protocol-specific information

Testing Network Connectivity

# Ping Test from PC
# 1. Double-click PC
# 2. Go to Desktop tab
# 3. Click Command Prompt
# 4. Type ping commands

# Basic ping test
C:\> ping 192.168.1.1
C:\> ping 192.168.2.10
C:\> ping google.com

# Extended ping options
C:\> ping -t 192.168.1.1    # Continuous ping
C:\> ping -n 10 192.168.1.1 # Send 10 packets
C:\> ping -l 1500 192.168.1.1 # Large packet size

# Traceroute test
C:\> tracert 192.168.2.10
C:\> tracert google.com

# ARP table
C:\> arp -a

# Network configuration
C:\> ipconfig
C:\> ipconfig /all
C:\> ipconfig /release
C:\> ipconfig /renew

Pruebas Web Browser

# HTTP/HTTPS Testing
# 1. Double-click PC
# 2. Go to Desktop tab
# 3. Click Web Browser
# 4. Enter URL in address bar

# Test web server connectivity
# http://192.168.1.100
# https://www.example.com

# DNS Testing
# Configure DNS server on PC
# Test domain name resolution
# Use nslookup command

# Email Testing
# Configure email client
# Set up SMTP/POP3 servers
# Send test emails between clients

Scripts de prueba avanzados

# Automated Testing with Packet Tracer Scripts
# Create .pkt file with embedded scripts

# Example: Connectivity Test Script
# Save as connectivity_test.pkt

# Script commands (in Packet Tracer CLI):
# Test basic connectivity
ping 192.168.1.1
ping 192.168.2.1
ping 8.8.8.8

# Test routing
show ip route
show ip ospf neighbor

# Test VLAN configuration
show vlan brief
show interfaces trunk

# Test DHCP
show ip dhcp binding
show ip dhcp pool

# Performance testing
# Use multiple PCs to generate traffic
# Monitor bandwidth utilization
# Test network convergence time

Red inalámbrica

LAN inalámbrica Configuración

# Add Wireless Router
# 1. Select Wireless Devices from device panel
# 2. Choose Wireless Router (e.g., WRT300N)
# 3. Place in workspace
# 4. Configure wireless settings

# Basic Wireless Configuration
# 1. Double-click wireless router
# 2. Go to GUI tab
# 3. Configure wireless settings:
#    - SSID: MyNetwork
#    - Security: WPA2-PSK
#    - Passphrase: SecurePassword123
#    - Channel: Auto or specific channel

# Advanced Wireless Settings
# - Wireless Mode: Mixed, G-Only, N-Only
# - Channel Width: 20MHz, 40MHz
# - Transmission Power: High, Medium, Low
# - MAC Address Filtering: Enable/Disable

Configuración de cliente inalámbrica

# Configure Laptop/PC for Wireless
# 1. Double-click laptop
# 2. Go to Physical tab
# 3. Remove Ethernet module
# 4. Add Wireless module (WMP300N)
# 5. Power on device

# Connect to Wireless Network
# 1. Go to Desktop tab
# 2. Click PC Wireless
# 3. Select "Connect" tab
# 4. Refresh to see available networks
# 5. Select network and enter password

# Wireless Troubleshooting
# - Check signal strength
# - Verify SSID and password
# - Check wireless module installation
# - Verify IP configuration (DHCP/Static)

Configuración de seguridad inalámbrica

# WPA2-PSK Configuration
# Router wireless settings:
# Security Mode: WPA2-PSK
# Encryption: AES
# Passphrase: Minimum 8 characters

# MAC Address Filtering
# 1. Enable MAC Address Filtering
# 2. Add allowed MAC addresses
# 3. Test connectivity with allowed/denied devices

# Guest Network Setup
# 1. Enable Guest Access
# 2. Configure separate SSID
# 3. Set bandwidth limitations
# 4. Configure access restrictions

Servicios de red

Configuración del servidor DNS

# Configure DNS Server
# 1. Add Server from End Devices
# 2. Double-click server
# 3. Go to Services tab
# 4. Click DNS

# Enable DNS Service
# 1. Turn DNS service ON
# 2. Add DNS records:
#    - Type: A Record
#    - Name: www.example.com
#    - Address: 192.168.1.100

# Configure DNS on Clients
# 1. Set DNS server IP on PCs
# 2. Test with nslookup or web browser
# 3. Verify name resolution

# DNS Record Types
# A Record: Domain to IPv4 address
# AAAA Record: Domain to IPv6 address
# CNAME: Canonical name (alias)
# MX: Mail exchange record
# PTR: Reverse DNS lookup

Configuración del servidor web

# Configure HTTP/HTTPS Server
# 1. Add Server from End Devices
# 2. Double-click server
# 3. Go to Services tab
# 4. Click HTTP

# Enable HTTP Service
# 1. Turn HTTP service ON
# 2. Modify index.html content
# 3. Configure HTTPS if needed
# 4. Set authentication if required

# Test Web Server
# 1. Configure client PC with IP
# 2. Open web browser
# 3. Navigate to server IP
# 4. Verify web page loads

# Advanced Web Configuration
# - Virtual hosts
# - SSL certificates
# - Authentication methods
# - Custom error pages

Configuración del servidor de correo electrónico

# Configure Email Server
# 1. Add Server from End Devices
# 2. Go to Services tab
# 3. Configure SMTP and POP3

# SMTP Configuration
# 1. Turn SMTP service ON
# 2. Configure domain name
# 3. Add user accounts
# 4. Set authentication

# POP3 Configuration
# 1. Turn POP3 service ON
# 2. Link to SMTP users
# 3. Configure mailbox settings

# Email Client Setup
# 1. Double-click PC
# 2. Go to Desktop > Email
# 3. Configure email account:
#    - Your Name: John Doe
#    - Email: john@example.com
#    - Incoming Mail Server: 192.168.1.100
#    - Outgoing Mail Server: 192.168.1.100
#    - Username/Password: As configured

# Test Email
# 1. Compose new email
# 2. Send to another user
# 3. Check received emails
# 4. Verify email delivery

Automatización y scripting

Packet Tracer Scripting

# Create Automation Scripts
# File > Save As > Select "Packet Tracer Activity (.pka)"
# Add instructions and scoring

# Activity Instructions
# 1. Click "Activity Instructions" button
# 2. Add step-by-step instructions
# 3. Include network requirements
# 4. Add assessment criteria

# Auto-Assessment Configuration
# 1. Enable "Assessment Items"
# 2. Configure check conditions:
#    - Device configurations
#    - Connectivity tests
#    - Protocol status
#    - Performance metrics

# Example Assessment Items:
# - PC1 can ping PC2
# - OSPF neighbors established
# - VLAN 10 configured on SW1
# - DHCP pool has active leases

Scripts de configuración a granel

#!/usr/bin/env python3
"""
Packet Tracer Configuration Generator
Generates configuration files for multiple devices
"""

class PTConfigGenerator:
    def __init__(self):
        self.configs = {}

    def generate_router_config(self, hostname, interfaces, ospf_process=None):
        """Generate router configuration"""
        config = [
            "enable",
            "configure terminal",
            f"hostname {hostname}",
            "no ip domain-lookup",
            "line console 0",
            "logging synchronous",
            "exit"
        ]

        # Configure interfaces
        for interface, settings in interfaces.items():
            config.extend([
                f"interface {interface}",
                f"ip address {settings['ip']} {settings['mask']}",
                "no shutdown",
                "exit"
            ])

        # Configure OSPF if specified
        if ospf_process:
            config.append(f"router ospf {ospf_process['process_id']}")
            if 'router_id' in ospf_process:
                config.append(f"router-id {ospf_process['router_id']}")

            for network in ospf_process['networks']:
                config.append(f"network {network['network']} {network['wildcard']} area {network['area']}")

            config.append("exit")

        # Save configuration
        config.extend([
            "exit",
            "copy running-config startup-config",
            ""  # Confirm save
        ])

        return config

    def generate_switch_config(self, hostname, vlans=None, interfaces=None):
        """Generate switch configuration"""
        config = [
            "enable",
            "configure terminal",
            f"hostname {hostname}",
            "no ip domain-lookup"
        ]

        # Configure VLANs
        if vlans:
            for vlan_id, vlan_name in vlans.items():
                config.extend([
                    f"vlan {vlan_id}",
                    f"name {vlan_name}",
                    "exit"
                ])

        # Configure interfaces
        if interfaces:
            for interface, settings in interfaces.items():
                config.append(f"interface {interface}")

                if settings['mode'] == 'access':
                    config.extend([
                        "switchport mode access",
                        f"switchport access vlan {settings['vlan']}"
                    ])
                elif settings['mode'] == 'trunk':
                    config.extend([
                        "switchport mode trunk",
                        f"switchport trunk allowed vlan {settings['allowed_vlans']}"
                    ])

                config.append("exit")

        # Save configuration
        config.extend([
            "exit",
            "copy running-config startup-config",
            ""
        ])

        return config

    def save_config_file(self, device_name, config_lines, filename=None):
        """Save configuration to file"""
        if not filename:
            filename = f"{device_name}_config.txt"

        with open(filename, 'w') as f:
            for line in config_lines:
                f.write(line + '\n')

        print(f"Configuration saved to {filename}")

    def generate_network_configs(self, network_design):
        """Generate configurations for entire network"""
        for device_name, device_config in network_design.items():
            device_type = device_config['type']

            if device_type == 'router':
                config = self.generate_router_config(
                    device_name,
                    device_config['interfaces'],
                    device_config.get('ospf')
                )
            elif device_type == 'switch':
                config = self.generate_switch_config(
                    device_name,
                    device_config.get('vlans'),
                    device_config.get('interfaces')
                )

            self.save_config_file(device_name, config)

# Example network design
network_design = {
    "R1": {
        "type": "router",
        "interfaces": {
            "gigabitethernet0/0": {
                "ip": "192.168.1.1",
                "mask": "255.255.255.0"
            },
            "serial0/0/0": {
                "ip": "10.1.1.1",
                "mask": "255.255.255.252"
            }
        },
        "ospf": {
            "process_id": 1,
            "router_id": "1.1.1.1",
            "networks": [
                {"network": "192.168.1.0", "wildcard": "0.0.0.255", "area": 0},
                {"network": "10.1.1.0", "wildcard": "0.0.0.3", "area": 0}
            ]
        }
    },
    "SW1": {
        "type": "switch",
        "vlans": {
            "10": "SALES",
            "20": "ENGINEERING"
        },
        "interfaces": {
            "fastethernet0/1": {
                "mode": "access",
                "vlan": "10"
            },
            "fastethernet0/2": {
                "mode": "access",
                "vlan": "20"
            },
            "fastethernet0/24": {
                "mode": "trunk",
                "allowed_vlans": "10,20"
            }
        }
    }
}

# Usage
if __name__ == "__main__":
    generator = PTConfigGenerator()
    generator.generate_network_configs(network_design)
    print("All device configurations generated successfully!")

Red Validation Script

#!/usr/bin/env python3
"""
Packet Tracer Network Validator
Validates network configurations and connectivity
"""

import json
import subprocess
import time
from datetime import datetime

class PTNetworkValidator:
    def __init__(self, validation_rules):
        self.rules = validation_rules
        self.results = []

    def validate_connectivity(self, source_ip, target_ip, test_type='ping'):
        """Validate network connectivity"""
        try:
            if test_type == 'ping':
                # Simulate ping test (in real PT, this would use PT API)
                result = {
                    'test': 'ping',
                    'source': source_ip,
                    'target': target_ip,
                    'success': True,  # Simulated success
                    'response_time': '10ms',
                    'timestamp': datetime.now().isoformat()
                }
            elif test_type == 'traceroute':
                result = {
                    'test': 'traceroute',
                    'source': source_ip,
                    'target': target_ip,
                    'success': True,
                    'hops': ['192.168.1.1', '10.1.1.2', target_ip],
                    'timestamp': datetime.now().isoformat()
                }

            return result

        except Exception as e:
            return {
                'test': test_type,
                'source': source_ip,
                'target': target_ip,
                'success': False,
                'error': str(e),
                'timestamp': datetime.now().isoformat()
            }

    def validate_routing_table(self, device_ip, expected_routes):
        """Validate routing table entries"""
        # In real implementation, this would connect to PT device
        # and execute 'show ip route' command

        routing_validation = {
            'device': device_ip,
            'test': 'routing_table',
            'expected_routes': expected_routes,
            'missing_routes': [],
            'extra_routes': [],
            'success': True,
            'timestamp': datetime.now().isoformat()
        }

        # Simulated routing table validation
        current_routes = [
            '192.168.1.0/24',
            '192.168.2.0/24',
            '10.1.1.0/30'
        ]

        for route in expected_routes:
            if route not in current_routes:
                routing_validation['missing_routes'].append(route)
                routing_validation['success'] = False

        return routing_validation

    def validate_vlan_configuration(self, switch_ip, expected_vlans):
        """Validate VLAN configuration"""
        vlan_validation = {
            'device': switch_ip,
            'test': 'vlan_configuration',
            'expected_vlans': expected_vlans,
            'missing_vlans': [],
            'success': True,
            'timestamp': datetime.now().isoformat()
        }

        # Simulated VLAN validation
        current_vlans = ['1', '10', '20']

        for vlan in expected_vlans:
            if str(vlan) not in current_vlans:
                vlan_validation['missing_vlans'].append(vlan)
                vlan_validation['success'] = False

        return vlan_validation

    def validate_ospf_neighbors(self, router_ip, expected_neighbors):
        """Validate OSPF neighbor relationships"""
        ospf_validation = {
            'device': router_ip,
            'test': 'ospf_neighbors',
            'expected_neighbors': expected_neighbors,
            'missing_neighbors': [],
            'success': True,
            'timestamp': datetime.now().isoformat()
        }

        # Simulated OSPF neighbor validation
        current_neighbors = ['2.2.2.2', '3.3.3.3']

        for neighbor in expected_neighbors:
            if neighbor not in current_neighbors:
                ospf_validation['missing_neighbors'].append(neighbor)
                ospf_validation['success'] = False

        return ospf_validation

    def run_validation_suite(self):
        """Run complete validation suite"""
        print("Starting network validation...")

        for rule in self.rules:
            rule_type = rule['type']

            if rule_type == 'connectivity':
                result = self.validate_connectivity(
                    rule['source'],
                    rule['target'],
                    rule.get('test_type', 'ping')
                )
            elif rule_type == 'routing':
                result = self.validate_routing_table(
                    rule['device'],
                    rule['expected_routes']
                )
            elif rule_type == 'vlan':
                result = self.validate_vlan_configuration(
                    rule['device'],
                    rule['expected_vlans']
                )
            elif rule_type == 'ospf':
                result = self.validate_ospf_neighbors(
                    rule['device'],
                    rule['expected_neighbors']
                )

            self.results.append(result)

            status = "✓ PASS" if result['success'] else "✗ FAIL"
            print(f"{rule_type.upper()} validation: {status}")

    def generate_validation_report(self, filename='validation_report.json'):
        """Generate validation report"""
        total_tests = len(self.results)
        passed_tests = sum(1 for r in self.results if r['success'])
        failed_tests = total_tests - passed_tests

        report = {
            'validation_time': datetime.now().isoformat(),
            'summary': {
                'total_tests': total_tests,
                'passed': passed_tests,
                'failed': failed_tests,
                'success_rate': (passed_tests / total_tests * 100) if total_tests > 0 else 0
            },
            'test_results': self.results
        }

        with open(filename, 'w') as f:
            json.dump(report, f, indent=2)

        print(f"\nValidation Report:")
        print(f"Total tests: {total_tests}")
        print(f"Passed: {passed_tests}")
        print(f"Failed: {failed_tests}")
        print(f"Success rate: {report['summary']['success_rate']:.1f}%")
        print(f"Report saved to {filename}")

        return report

# Example validation rules
validation_rules = [
    {
        'type': 'connectivity',
        'source': '192.168.1.10',
        'target': '192.168.2.10',
        'test_type': 'ping'
    },
    {
        'type': 'connectivity',
        'source': '192.168.1.10',
        'target': '8.8.8.8',
        'test_type': 'ping'
    },
    {
        'type': 'routing',
        'device': '192.168.1.1',
        'expected_routes': ['192.168.1.0/24', '192.168.2.0/24', '10.1.1.0/30']
    },
    {
        'type': 'vlan',
        'device': '192.168.1.2',
        'expected_vlans': [10, 20]
    },
    {
        'type': 'ospf',
        'device': '192.168.1.1',
        'expected_neighbors': ['2.2.2.2']
    }
]

# Usage
if __name__ == "__main__":
    validator = PTNetworkValidator(validation_rules)
    validator.run_validation_suite()
    validator.generate_validation_report()

Solución de problemas y mejores prácticas

Problemas y soluciones comunes

# Issue: Devices won't connect
# Solution: Check cable types and interface status
# 1. Verify correct cable type (straight-through vs crossover)
# 2. Check interface configuration
# 3. Ensure interfaces are not shutdown
# 4. Verify IP addressing

# Issue: No connectivity between VLANs
# Solution: Configure inter-VLAN routing
# 1. Configure router subinterfaces
# 2. Set up trunk links
# 3. Verify VLAN configuration
# 4. Check routing table

# Issue: OSPF neighbors not forming
# Solution: Check OSPF configuration
# 1. Verify network statements
# 2. Check area configuration
# 3. Ensure interfaces are in correct areas
# 4. Verify router IDs are unique

# Issue: DHCP not working
# Solution: Check DHCP configuration
# 1. Verify DHCP pool configuration
# 2. Check excluded addresses
# 3. Ensure DHCP service is enabled
# 4. Configure DHCP relay if needed

# Issue: Simulation mode not working
# Solution: Reset simulation and check filters
# 1. Click "Reset Simulation"
# 2. Check event filters
# 3. Ensure devices are properly configured
# 4. Verify packet generation

Optimización del rendimiento

# Optimize Packet Tracer Performance
# 1. Close unnecessary applications
# 2. Reduce simulation complexity
# 3. Use appropriate device models
# 4. Limit concurrent simulations

# Memory Management
# - Save projects regularly
# - Close unused projects
# - Use "Save As" to create backups
# - Clear simulation events periodically

# Network Design Best Practices
# - Use hierarchical design
# - Implement proper addressing schemes
# - Follow Cisco design guidelines
# - Document network configurations

# Project Organization
# - Use descriptive device names
# - Add network documentation
# - Create logical groupings
# - Use consistent naming conventions

Copia de seguridad y recuperación

# Project Backup Strategy
# 1. Regular saves during development
# 2. Version control with descriptive names
# 3. Export to different formats
# 4. Store backups in multiple locations

# Export Options
# File > Export > Image (PNG/JPEG)
# File > Export > PDF
# File > Save As > Packet Tracer Activity (.pka)
# File > Save As > Packet Tracer Network (.pkt)

# Recovery Procedures
# 1. Keep multiple backup versions
# 2. Test backup files regularly
# 3. Document configuration changes
# 4. Use version control for large projects

Esta hoja de trampa completa Packet Tracer proporciona una amplia cobertura de simulación de red, configuración de dispositivos, conceptos avanzados de redes, automatización y solución de problemas. Los scripts y ejemplos incluidos permiten el diseño profesional de redes, pruebas y actividades educativas utilizando Cisco Packet Tracer.