Как с PHP проверить или машина стоит не за nat'om?

Discussion in 'PHP' started by Flooser, 14 Apr 2008.

  1. Flooser

    Flooser Banned

    Joined:
    26 Jul 2007
    Messages:
    0
    Likes Received:
    4
    Reputations:
    0
    Проблема в том , что если знаешь что точно какой-то порт открыт на машине , тогда можно с fsockopen() f-jai checknut, но например перед "загрузкой" файла, когда еще не прекрутился твой бот, и незнаешь какие порты открываются , почемуто fsockopen() не спасает, я пробую активировать сокет на стандартные Win порты, он они всегда закрываются , что посоветуете? Сейчас как раз вспомнил что может UDP проверить нужно?
     
    #1 Flooser, 14 Apr 2008
    Last edited by a moderator: 14 Apr 2008
    2 people like this.
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Если у тебя есть бот с открытым портом, то просто пытайся коннектится к этому порту и проверяй ответ. Я так в своём боте делаю и получаю нормальный результат. А вообще попытки коннекта могут обрываться не только из-за NAT'a а также:
    1) обычный фаер блочит всё // даже стандартный виндовый
    2) человек общается с внешним миром через прокси - наиболее распространенное корпоративное решение.

    Если есть исходник бота, то пусть он при своем первом отстуке шлет все IP компа, а там уже простой анализ пришедших данных будет вычеслять прямой канал или нет.
    К примеру если бот открывает порт для socks прокси и отправляет тебе имя этого порта, то также можно проверить именно на этом порту.
     
  3. Flooser

    Flooser Banned

    Joined:
    26 Jul 2007
    Messages:
    0
    Likes Received:
    4
    Reputations:
    0
    В том то и дела сто мне нужна какта апределит перед загрузкаи или комп стайит за натом, стоби негрузит зре.. Бот придназна4ин дле соцкс-прохы, само сабои он атсилайит свайи порти на цонтроллер, с етим фсио нармална, но какта хателас би да загрузки узнат или можна будит падсаидинитса к компу с наружи, стоби неделат ненужних загрузак. Ришения уже па4ти нашол, загруз4ик паставит у сибе на лоадера стоби он висилал свой аткритаи порт перед загрузкаи, эсли соцкет аткривайитса, зна4ит будим грузит. Другия варянти как панимаю недают даже 70% реалнава састаяния машини свизи с натом)
     
    #3 Flooser, 14 Apr 2008
    Last edited: 14 Apr 2008
    2 people like this.
  4. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Тогда тебе нужен лоадер который проверяет адреса. т.е. со сплоитов ты грузанешь небольшой лоадер, а он в свою очередь уже докачает самого бота если инет нормальный. В любом случае перед непосредственной загрузкой на комп, проверить довольно сложно, хотя возможно.
    Наилучшим будет тогда способ (если юзаешь лоадер!) просто перез загрузкой троя проверить всё.
     
  5. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Если у тебя нормальные права на серваке, то через system выполни внешнюю прогу которая проверить любым возможным и невозможным способом наличие прямого доступа к компу. Конечно при большом трафе груз будет сильный для сервака.