powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / верна ли программка перебора работающего прокси?
6 сообщений из 6, страница 1 из 1
верна ли программка перебора работающего прокси?
    #38783696
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в компании все сидят через прокси. Недавно просил админа дать доступ на google groups, обычный прокси не пускал по https. Админ дал другой прокси вида 192.168.*.* , дал номер порта и все заработало. Но потом лавочку прикрыли - видимо, много людей начало пользоваться. Я тут подумал - а ведь все равно должен быть другой прокси, через который сидят шефы, начальники отделов, по-любому они промят админов дать нормальный доступ. Ну, я решил перебрать, написал простой перебор адресов, проверьте, нормально ли, надо ли там еще connect() делать? Я просто делаю оупен урл коннект, если исключение - не пашет, если нет исключения - прокси можно юзать. Верно ли? Надо ли как-то по-другому проверять верность прокси? Типа пытаться считать что-нибудь, посмотреть код ответа и так далее. Вот как я делаю сейчас:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 public static void main(String[] args) {
        for(int i=0;i<256;i++)
            for(int j=0;j<256;j++)
                for (int port=1025;port<256*256;port++) {
                    boolean ok  = true;
                    try {
                        String address = "192.168."+Integer.toString(i)+"."+Integer.toString(j);
                        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(address, port));
                        URLConnection conn = new URL("google.ru").openConnection(proxy);
                        //conn.connect(); нужны ли еще действия помимо просто создания соединения
                    } catch (Exception ex) {
                        ok = false;
                        //ex.printStackTrace();
                    } finally {
                        if(ok) System.out.println("192.168."+i+"."+j+":"+port);
                    }
                }
        System.out.println("bruteforce complete");
    }
...
Рейтинг: 0 / 0
верна ли программка перебора работающего прокси?
    #38783722
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сконвертировав два IPv4 адреса в int, можно обойтись одним циклом.
Код: java
1.
 for(int i = ipToInt("192.168.0.1"); i <= ipToInt("192.168.255.255"); i++)


int можно достать из Inet4Address собрав из массива байт getAddress()
либо можно напрямую, через hashCode(). Клюг, конечно. Но для такой задачи пофиг.
Вместо connect(), как-то надежнее получить InputStream и начать из него читать. Мало ли чего там прокси по поводу connect() придумает.
Код стоит форматировать перед тем как вываливать на публику.
boolean ok - это какой-то тупак. Достаточно строку из finally унести в блок try и выкинуть этот флаг.
...
Рейтинг: 0 / 0
верна ли программка перебора работающего прокси?
    #38783729
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет файналли блока согласен, писал не думая, еще надо таймаут установить - по дефолту он там несоклько секунд долбится, а для миллионов итераций это не подойдет. Поставил таймаут 100мс, думаю, хватит для "работающих" адресов "проявить себя".
...
Рейтинг: 0 / 0
верна ли программка перебора работающего прокси?
    #38783734
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaurzhanSеще надо таймаут установить
Да-да. Хотел это тоже написать, но забыл.
...
Рейтинг: 0 / 0
верна ли программка перебора работающего прокси?
    #38783739
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, Exit Code = -1, что-то там происходит не то.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
for(int i=0;i<256;i++)
            for(int j=1;j<256;j++)
                for (int port=1025;port<256*256;port++) { 
                    try {
                        String address = "192.168."+Integer.toString(i)+"."+Integer.toString(j);
                        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(address, port));
                        HttpURLConnection  conn = (HttpURLConnection)new URL("http://google.ru").openConnection(proxy);
                        conn.setConnectTimeout(10);
                        conn.connect();
                        System.out.println(conn.getResponseCode());
                        System.out.println("192.168."+i+"."+j+":"+port);
                    } catch (Exception ex) {
                        //ex.printStackTrace();
                    }
                }
        System.out.println("bruteforce complete");
...
Рейтинг: 0 / 0
верна ли программка перебора работающего прокси?
    #38783746
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для общей для всей компании прокси, этот код работате нормально, исключения нет, респонс код = 407, авторизацию просит. То есть, коннекта достаточно. Почему -1 exit code, может мою машину из-за большого трафика блокируют...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / верна ли программка перебора работающего прокси?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]