Oi Marcelo,
Bom, eu fiz essa classe me baseando na forma como o ipchains (ip fileter do
linux) faz a comparacao ...
Por exemplo, vc tem um servidor ouvindo na pora 80, entao vc cria qtos
IPFilters vc quizer para esse servidor ...
Por exemplo, vc pode aceitar conexoes de duas masks, a 192.168.1.0/24 e
192.168.1.0/24 ...
Entao vc cria para esse servidor dois IPFilters, um ipFileter1 = new
IPFilter("192.168.1.0", 24) e ipFilter2 = new IPFilter("192.168.1.0", 24) ...
Qdo vc recebe uma conexao (socket) do cliente, primeiro vc verifica se ele eh
aceito por algum IPFileter ...
Vc pode criar um POLICY tbem, q nada mais eh do q a regra q sera seguida caso o
ip nao esteja no mask de nenhum IPFilter ...
Exemplo ...
ipFileter1 = new IPFilter("192.168.1.0", 24) ;
ipFileter2 = new IPFilter("192.168.0.0", 24) ;
Vector ipFilters = new Vector(2) ;
ipFileter.addElement(ipFilter1) ;
ipFileter.addElement(ipFilter2) ;
// verifica se o ip do cliente combina com algum ipfilter, se nao nega ...
public boolean verifica(String ip) {
for (int i = 0; i < ipFilters.size(); i++)
if (((IPFilter) ipFilter.elementAt(i)).accept(ip))
return true ;
return false ;
}
Eureca !!! Acabei de ter uma ideia para melhorar essa classe,
Vou fazer assim ...
Em vez de eu perguntar se o IPFilter aceita o ip, vou perguntar se combina, e
depois pego no IPFilter o q eu tenho q fazer, aceitar ou negar, ai da para
criar regras para negar de determinados masks ...
Mas se vc quizer, pode usar essa ai q te passei mesmo ...
Depois de melhorar essa classe posso te enviar ...
Um abraco !!!
On Thu, 19 Apr 2001, you wrote:
> Oi "hooter",
>
> esta classe cobre até uma necessidade que do jeito que eu estava pensando em
> fazer não cobreria, que é o de uma mask do tipo 255.255.255.193.
>
> Só gostaria que vc confirmasse se a forma de utilização da classe segue este
> fluxo.
> Nas configuerações do user eu teria que guardar os seguintes dados:
> Subnet=194.1.4.0 e mask=24.
>
> Quando eu receber o ip do client(194.1.4.253) eu teria que chamar a IPFilter
> duas vezes, uma com o subnet e mask e outra com o ip do client e mask para
> ter no final dois ints(019419) para fazer a comparação.
>
> Acho que o certo seria utilizar diretamente o accept, mas como utilizar se
> ainda não tenho a verificação do mask?
>
> ----- Original Message -----
> From: "hooter" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, April 18, 2001 19:44
> Subject: Re: [java-list] Comparando o netmask e ip
>
>
> > Eu fiz uma classe para isso ...
> > Faco a comparacao utilizando deslocamento de bits ...
> > Espero ter ajudado, um abraco ...
> > Me diga depois o q vc acho ...
> >
> > On Wed, 11 Apr 2001, you wrote:
> > >
> > > Oi pessoal,
> > >
> > > estou desenvolvendo um aplicativo que será utilizado em diferentes
> ambientes(lan, internet, etc) e eu estou querendo restringir o acesso de
> usuários que são permitidos somente na lan a não acessar via internet. Para
> fazer isto estou cadastrando em uma tabela a máscara e endereço atribuido a
> cada um dos ambientes e comparando com o endereço que pego do usuário que se
> loga, mas estou fazendo via comparação de string, por exemplo:
> > >
> > > getip user: 194.2.20.34
> > > usernet:194.2.0.0
> > > usermask:255.255.0.0
> > >
> > > Eu pego o ip aplico a usermask e comparo com o usernet para validar o
> acesso.
> > >
> > > Gostaria de saber se existe alguma classe que faz esta comparação
> diretamente sem eu ter que tratar por string ou se existe uma maneira
> melhor de fazer isto.
> > >
> > >
> > > Grato
> > > Marcelo.
> > >
> > >
> > >
> >
> > ----------------------------------------
> > Content-Type: text/html; name="unnamed"
> > Content-Transfer-Encoding: quoted-printable
> > Content-Description:
> > ----------------------------------------
> >
>
>
> ----------------------------------------------------------------------------
> ----
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------