Реклама на сайте Advertise with us

Как соединяться через определенный ип?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 11:11       Ответить с цитатойцитата 

на сервере есть пачка ип, все соединения идут через главный
можно ли указать вначале скрипта, через какой из ипшников делать все исходящие соединения?

P.S. сейчас могу только через curl включать опцией CURLOPT_INTERFACE

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 07/10/10 в 11:16       Ответить с цитатойцитата 

Соединяться чем?

PS Всегда нравился вопрос "Как открыть файл?" icon_smile.gif
PSS Обычно в языках разных для этого используется команда со словом bind в себе. Например, socket_bind() в PHP.

Моя подпись.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 11:31       Ответить с цитатойцитата 

lega_cobra писал:
icon_mrgreen.gifСоединяться чем?
PS Всегда нравился вопрос "Как открыть файл?" icon_smile.gif
PSS Обычно в языках разных для этого используется команда со словом bind в себе. Например, socket_bind() в PHP.


socket_bind это будет работать для любой исходящей операции соединения, например fopen url?
или только для сокет коннектов?

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 07/10/10 в 12:18       Ответить с цитатойцитата 

ibiz писал:
socket_bind это будет работать для любой исходящей операции соединения, например fopen url?
или только для сокет коннектов?


Только для данного сокета.

Моя подпись.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 12:33       Ответить с цитатойцитата 

так вот меня интересует можно ли временно переопределить дефолтный адрес для всех последующих соединений в скрипте
на язык без разницы, хоть через шелл, главное интерпритируемый, то бишь без компиляции софта icon_smile.gif

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 07/10/10 в 16:06       Ответить с цитатойцитата 

ну из всех паблик-опенсорс, доступных на разных платформах и языках, пока это кУРЛ...
можно локально сокс повесить (кстати, так даже лучше) и через него курлом(или чем любым другим, умеющим через прокси ходить) заруливать

removed by moderator

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 16:23       Ответить с цитатойцитата 

mr. snatch писал:
ну из всех паблик-опенсорс, доступных на разных платформах и языках, пока это кУРЛ...
можно локально сокс повесить (кстати, так даже лучше) и через него курлом(или чем любым другим, умеющим через прокси ходить) заруливать


пока самое лучшее что смог натеоретить это повесить прокси и директивой pfpro.proxyaddress через ini_set указывать через что конектиться, на практике хз, пока ищу еще варианты
может через iptables можно рулить соединениями исходящими от определенного процесса...

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 07/10/10 в 16:32       Ответить с цитатойцитата 

Цитата:
повесить прокси и директивой pfpro.proxyaddress через ini_set указывать через что конектиться

ээ, сорь, зачем так, может я не правильно тебя понял, но если в проекте юзается кУРЛ, имхо более правильнее это делать средствами самого кУРЛа
Код:

        CURLOPT_HTTPPROXYTUNNEL = true,
        CURLOPT_SSL_VERIFYHOST = false,
        CURLOPT_SSL_VERIFYPEER = false,
        CURLOPT_PROXY = '127.0.0.1:8081', # локальный ИП:порт где прокся
        CURLOPT_PROXYUSERPWD ='логин:пароль' # на проксю
        CURLOPT_PROXYTYPE = CURLPROXY_HTTP (HTTP/HTTPS прокся) или
        CURLOPT_PROXYTYPE = CURLPROXY_SOCKS5 (локальная прокся - сокс5)

removed by moderator

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 16:37       Ответить с цитатойцитата 

mr. snatch писал:
ээ, сорь, зачем так, может я не правильно тебя понял, но если в проекте юзается кУРЛ, имхо более правильнее это делать средствами самого кУРЛа
Код:

        CURLOPT_HTTPPROXYTUNNEL = true,
        CURLOPT_SSL_VERIFYHOST = false,
        CURLOPT_SSL_VERIFYPEER = false,
        CURLOPT_PROXY = '127.0.0.1:8081', # локальный ИП:порт где прокся
        CURLOPT_PROXYUSERPWD ='логин:пароль' # на проксю
        CURLOPT_PROXYTYPE = CURLPROXY_HTTP (HTTP/HTTPS прокся) или
        CURLOPT_PROXYTYPE = CURLPROXY_SOCKS5 (локальная прокся - сокс5)


нет, в проекте юзается fopen
и коннектится с одного ип адреса, затем юзается file_get_content и коннектится с этого же адреса, и все другие исходящие соединения сокету, курлы, конектятся с этого адреса
у меня задача, одним движением сменить этот адрес для всех исходящих соединений

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 07/10/10 в 16:41       Ответить с цитатойцитата 

хм, ну как вариант, заменить file_get_contents на курл, или использовать соксификаторы, типа ProxyChains и т.д.
...просто это более правильнее, чем возиться с кастылями для file_get_contents. Так же можно заюзать расширения контекстов, не убирая file_get_contents, но всё-равно исходник допиливать прийдётся

removed by moderator

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 16:50       Ответить с цитатойцитата 

ну скажем так, у меня нет доступа к скрипту, а открывать соединение через заданный ип надо icon_smile.gif
если б все так легко было я б не спрашивал icon_smile.gif

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 07/10/10 в 16:59       Ответить с цитатойцитата 

если внутри скрипта коннекты идут на разные IPы, и для одних нужно юзать один и-фейс, для других - другой, то просто маршрутизацией (route add ... dev ethX)

removed by moderator

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 17:06       Ответить с цитатойцитата 

mr. snatch писал:
если внутри скрипта коннекты идут на разные IPы, и для одних нужно юзать один и-фейс, для других - другой, то просто маршрутизацией (route add ... dev ethX)


а подробнее можно, как временно прописать роуты для определенного скрипта, чтоб другие скрипты не пострадали?

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 07/10/10 в 17:27       Ответить с цитатойцитата 

можно соксифицировать сам скрипт, например этим, и заруливать его через нужную проксю, типа

proxychains script.xxx

а в /etc/proxychains.conf указываются прокси и т.д. которые используются для соксифицируемого процесса

Но, если сам скрипт лезит на разные ИПы и для этих разных ИПов нужно юзать разные интерфейсы, то имхо, проще, написать свой коннектор(шлюз), который будет разруливать подключения для этого скрипта. То есть скрипт коннектится к шлюзу (через соксификатор), шлюз уже знает какой и-фейс юзать в конкретном случае.

Думаю, как-то так...

зы: а стандартными средствами, насколько я знаю, конкретно для процесса таблицы раутинга не модифицирутся, тем более так, что бы если этот скрипт используя один ИП ишёл через и-фейс 0, а другой скрипт, так же коннектящийся на тот же самый ИП, но шёл через й-фейс 1.

removed by moderator

8
 



С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950


Передовик Master-X (01.01.2008)
Ссылка на сообщениеДобавлено: 07/10/10 в 20:53       Ответить с цитатойцитата 

А доки по курлу влом почитать?

CURLOPT_INTERFACE The name of the outgoing network interface to use. This can be an interface name, an IP address or a host name.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 20:59       Ответить с цитатойцитата 

Sha писал:
А доки по курлу влом почитать?
CURLOPT_INTERFACE The name of the outgoing network interface to use. This can be an interface name, an IP address or a host name.


мне нет, лучше первый пост почитай smail101.gif

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 07/10/10 в 21:09       Ответить с цитатойцитата 

Что-то вы тут совсем наворотили, пока меня не было. icon_smile.gif

Лёгкая теория, как это все работает. Что бы открыть исходящее IP соединение, любая программа создает сокет, и биндит его на IP адрес. Исходящий адрес по умолчанию - 0.0.0.0. Это значит, что выбор исходящего адреса лежит на OS. А OS обычно выбирает main IP интерфейса, куда едет соединение. Т.е. всегда выбор исходящего IP, по сути, остается за OS. В отдельных случаях, когда инструмент позволяет это сделать на пользовательском уровне, можно указать прямо, на какой адрес биндить вместо адреса "по умолчанию", т.е. вместо 0.0.0.0/32.

Биндить пользовательский адрес можно только после создания сокета, но до открытия коннекта. Функция fopen сама создает сокет и открывет коннект в одном флаконе. Так-что, скорее всего, нельзя биндить исходящий IP в этой команде. Хотя, можно в сырцах посмотреть, откуда там берется этот IP. Может какая переменная есть...

Последний раз редактировалось: lega_cobra (07/10/10 в 21:12), всего редактировалось 1 раз

Моя подпись.

0
 



С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950


Передовик Master-X (01.01.2008)
Ссылка на сообщениеДобавлено: 07/10/10 в 21:12       Ответить с цитатойцитата 

ibiz писал:
мне нет, лучше первый пост почитай smail101.gif

Уговорил.
Может это спасёт отца русской демократии?
http://www.php.net/manual/en/context.socket.php

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 07/10/10 в 21:24       Ответить с цитатойцитата 

про контексты и курлы уже говорили ) ТС сырец править не может я так понял, и при этом ему нужно разрулить коннекты только для конкретного процесса через разные и-фейсы

removed by moderator

0
 



С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950


Передовик Master-X (01.01.2008)
Ссылка на сообщениеДобавлено: 07/10/10 в 21:27       Ответить с цитатойцитата 

Цитата:
ну скажем так, у меня нет доступа к скрипту, а открывать соединение через заданный ип надо icon_smile.gif

Цитата:
можно ли указать вначале скрипта, через какой из ипшников делать все исходящие соединения?

Тогда мне просто интересно как ТС собирается вначале скрипта что-либо указывать если к скрипту доступа у него нет?

0
 



С нами с 24.06.10
Сообщения: 2686
Рейтинг: 543

Ссылка на сообщениеДобавлено: 07/10/10 в 21:32       Ответить с цитатойцитата 

ну он там php.ini правит, то есть exec из обёртки можно сделать, которая этот скрипт запускает...

removed by moderator

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 07/10/10 в 21:44       Ответить с цитатойцитата 

Sha писал:
Тогда мне просто интересно как ТС собирается вначале скрипта что-либо указывать если к скрипту доступа у него нет?


я слукавил, могу дописать в скрипт строки, но не заменять функции icon_smile.gif

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »