Skip to content

Instantly share code, notes, and snippets.

@craSH
Last active September 4, 2018 18:23
Show Gist options
  • Save craSH/5558427 to your computer and use it in GitHub Desktop.
Save craSH/5558427 to your computer and use it in GitHub Desktop.
Masquerade/redirect incoming TCP connections on all ports (1:65535) to $dst_ip port $dst_port.Great for creating a proxy/jump box that lets you SSH to your server, in cases when you're on strange/(poorly) restrictive networks and need to tunnel out.
#!/bin/bash
#
# Masquerade/redirect incoming TCP connections on all ports (1:65535) to $dst_ip port $dst_port
# Call with -f to force update, even if IP cache exists and shows no changes.
# Make sure this isn't a CNAME! Otherwise the below dig command won't follow it and return an IP.
dst_host="neg9.org"
target_ns="google-public-dns-a.google.com"
dst_port=22
dst_ip=$(dig +short -t A "$dst_host" "@${target_ns}")
echo "[INFO] Destination host: $dst_host, destination port: $dst_port, target nameserver: $target_ns"
# Set umask to create files as mode 0600 (user r/w, go none)
umask 0077 || (echo "[ERROR] Setting restrictive umask (0077), aborting."; exit 1)
# See if the IP we got differs from the one currently in use
ip_cache="/tmp/$(echo -n $dst_host | shasum -a 512 | cut -c 1-16).ipcache"
if [ -r "$ip_cache" ]; then
cached_ip=$(cat "$ip_cache")
if [ ! "$1" = "-f" -a "$cached_ip" = "$dst_ip" ]; then
# The IP has not changed, exit before doing anything
# If -f is passed to the script, force and go to the else block anyways
echo "[INFO] Cache IP: $cached_ip"
echo "[INFO] Dest. IP: $dst_ip"
echo "[INFO] IP of destination has not changed, exiting."
exit 0
else
# The IP has changed, update the cache and continue with the script as normal
echo "$dst_ip" > "$ip_cache"
echo "[INFO] Cache IP: $cached_ip"
echo "[INFO] Dest. IP: $dst_ip"
echo "[INFO] IP of destination has changed, continuing with script execution."
fi
else
# No cache file yet, write it and continue with the script as normal
echo "$dst_ip" > "$ip_cache"
echo "[INFO] Cache IP: <NOT SET>"
echo "[INFO] Dest. IP: $dst_ip"
echo "[INFO] Unknown cache/previous IP, continuing with script execution."
fi
# Nuke all existing rules
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
echo "[INFO] IPTables rules removed/flushed"
# Set new rules to redirect all connections to this host on any TCP port to $dst_ip on $dst_port
# Do not forward 9001/9030 as Tor uses those.
iptables -t nat -A PREROUTING -p tcp --dport 0:9000 -j DNAT --to-destination ${dst_ip}:${dst_port}
iptables -t nat -A PREROUTING -p tcp --dport 9002:9029 -j DNAT --to-destination ${dst_ip}:${dst_port}
iptables -t nat -A PREROUTING -p tcp --dport 9031:65535 -j DNAT --to-destination ${dst_ip}:${dst_port}
iptables -t nat -A POSTROUTING -p tcp --dport ${dst_port} -j MASQUERADE
echo "[INFO] IPTables rules added"
# Nuke existing socat instances
pkill socat
echo "[INFO] socat instances killed"
# Some ghetto socats for a few ipv6 ports.. not as easy to do the above magic with ipv6, no nat, tproxy.. sucks
(socat TCP6-LISTEN:1,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:13,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:17,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:19,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:20,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:21,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:22,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:23,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:24,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:25,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:26,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:33,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:37,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:42,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:53,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:79,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:80,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:81,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:82,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:88,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:100,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:106,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:110,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:111,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:113,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:119,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:135,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:139,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:143,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:144,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:161,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:179,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:199,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:222,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:254,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:255,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:264,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:280,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:311,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:389,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:407,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:427,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:443,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:444,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:445,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:464,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:465,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:497,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:500,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:512,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:513,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:514,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:515,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:543,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:544,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:548,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:554,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:563,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:587,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:593,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:625,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:631,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:636,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:646,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:787,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:808,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:873,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:888,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:902,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:990,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:992,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:993,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:995,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:999,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1022,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1023,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1024,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1025,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1026,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1027,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1028,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1029,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1030,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1031,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1032,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1033,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1034,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1035,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1036,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1037,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1038,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1039,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1040,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1041,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1042,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1043,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1044,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1048,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1049,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1050,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1053,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1054,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1056,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1058,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1059,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1064,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1065,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1066,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1068,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1069,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1071,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1074,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1080,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1110,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1111,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1218,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1234,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1352,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1433,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1494,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1521,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1700,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1717,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1720,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1723,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1755,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1761,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1801,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1900,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1935,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:1998,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2002,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2003,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2004,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2005,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2006,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2007,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2008,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2009,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2010,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2049,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2065,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2103,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2105,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2107,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2121,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2161,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2301,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2383,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2401,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2601,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2602,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2604,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2701,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2717,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2869,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:2967,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3052,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3128,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3260,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3268,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3269,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3306,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3333,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3389,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3689,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3690,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3703,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:3986,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:4000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:4001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:4002,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:4045,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:4444,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:4662,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:4899,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5002,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5003,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5009,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5050,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5051,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5060,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5100,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5101,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5120,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5190,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5357,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5432,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5550,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5555,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5631,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5666,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5800,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5801,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5900,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:5901,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6002,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6004,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6112,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6543,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6646,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:6666,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7019,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7070,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7100,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7937,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:7938,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8002,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8008,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8009,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8010,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8031,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8080,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8081,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8082,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8443,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:8888,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9002,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9090,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9100,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9102,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9535,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:9999,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:10000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:10001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:10010,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:15000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:32768,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:32770,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:32771,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:32772,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:42510,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:49152,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:49153,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:49154,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:49155,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:49156,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:49157,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:50000,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
(socat TCP6-LISTEN:50001,fork,reuseaddr,bind=[2604:180:1::b49e:f468] TCP4-CONNECT:${dst_ip}:${dst_port} >/dev/null 2>&1) &
echo "[INFO] socat instances started"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment