Controle arquivos modem
1) controlar o nome do arquivo que está saindom a quantidade de bytes enviados e de onde vem
2) controlar o nome do arquivo que sai, a quantidade de bytes que saem e para onde vão
3) um log de tudo isto
Não sei nem por onde começar, só sei que terei de utilizar um stream
Edilcimar
Respostas
Edilcimar
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
Edilcimar
11/04/2005
o endereço atual é http://www.nzlab.dk/codesnippets.htm
depois vou testar, se funcionar isto é algo importante pois você pode ver se tem algum ´chupa cabra´ roubando arquivos do computador
Nildo
11/04/2005
Só para constar.. a WinPCap é a mesma biblioteca utilizada pela Etherreal.
Nildo
11/04/2005
Edilcimar
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
Você tem que instalar os drivers da WinPCap
Edilcimar
11/04/2005
Nildo
11/04/2005
Como eu disse, TEM que instalar os drivers da WinPCap
Edilcimar
11/04/2005
Edilcimar
11/04/2005
http://winpcap.polito.it
Nildo
11/04/2005
Mas voce nao falou que achou um exemplo de Delphi?
http://www.nzlab.dk/codesnippets.htm
Edilcimar
11/04/2005
Nildo
11/04/2005
Faz exatamente como eu te disse:
1 - [b:f66a6d20f1]Instala os drivers[/b:f66a6d20f1] da WinPCap
2 - Depois de ter [b:f66a6d20f1]instalado o driver[/b:f66a6d20f1], executa o exemplo de Delphi.
Nerdex
11/04/2005
Será que é pastas: system/32 e driver, por dedução? ou na pasta da aplic. mesmo?
AHHHH!!!! :lol: ....e falando em pack! quando sai o pack API HooK Architect Edition 2005?...: :cry:
Nildo
11/04/2005
Será que é pastas: system/32 e driver, por dedução? ou na pasta da aplic. mesmo?
AHHHH!!!! :lol: ....e falando em pack! quando sai o pack API HooK Architect Edition 2005?...: :cry:[/quote:d5789f8310]
Que eu me lembre, o winPCap vem com um instalador que instala o driver.
Quanto ao pack, tive alguns conselhos dos meus professores da facul e ainda estamos discutindo sobre isso! :D
Nerdex
11/04/2005
Nildo
11/04/2005
Interessante esse WinPCap né? O Etherreal usa ele para a captura dos pacotes
Edilcimar
11/04/2005
Nerdex
11/04/2005
Edilcimar
11/04/2005
Nerdex
11/04/2005
Deixa teu mail aí! que e te mando o drivers e dll... então... :shock:
:lol:
Edilcimar
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
Tente debugar o programa.
O erro que você citou pode ocorrer por diversas causas
Edilcimar
11/04/2005
Cannot open adapter ´????????????r????????????´
seqüência de chamada
Fzniffer := TZniffer.create;
Fzniffer.OnPacket := ReadPacket;
Combobox1.Items.assign(Fzniffer.Adapters);
Combobox1.text:=´< SELECT ADAPTER >´;
Combobox1.Itemindex := 0;
Combobox1.OnChange(nil);
aqui trava
procedure TForm1.ComboBox1Change(Sender: TObject);
var E:string;
begin
if Fzniffer.Snooping then
if not Fzniffer.Deactivate(E) then raise Exception.create(e);
Fzniffer.AdapterIndex := COmbobox1.ItemIndex;
if not Fzniffer.Activate(e) then raise Exception.create(e);
caption := ´Snooping Started´;
end;
com uma chamada aqui, e eu não entendo de assembler
{$IFDEF MSWINDOWS}
{ -> [ESP+ 4] excPtr: PExceptionRecord }
{ [ESP+ 8] errPtr: PExcFrame }
{ [ESP+12] ctxPtr: Pointer }
{ [ESP+16] dspPtr: Pointer }
{ <- EAX return value - always one }
MOV EAX,[ESP+4]
MOV EDX,[ESP+8]
TEST [EAX].TExceptionRecord.ExceptionFlags,cUnwindInProgress
JE @@exit
MOV ECX,[EDX].TExcFrame.desc
MOV [EDX].TExcFrame.desc,offset @@exit
PUSH EBX
PUSH ESI
PUSH EDI
PUSH EBP
MOV EBP,[EDX].TExcFrame.hEBP
ADD ECX,TExcDesc.instructions
CALL NotifyExceptFinally
CALL ECX
POP EBP
POP EDI
POP ESI
POP EBX
@@exit:
MOV EAX,1
{$ENDIF}
Nildo
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
To meio enrolado com umas coisas aqui, se meu chefe ver o programa aberto aqui no delphi, que não seja o da empresa eu to lascado haha
Edilcimar
11/04/2005
Nerdex
11/04/2005
Vou dar uma olhada no arquivo Zniffer.pas para ver como é esta ´pegada´ do drive... depois informo aqui uma possível solução...: :wink:
Meu adaptador é um Surecom e o arquivo do driver chama-se: EP320XS.SYS (dentro do ComboBox fica isto = EP320XS);
Nerdex
11/04/2005
Também funciona para modem discado...
Já sobre a localização dos arquivos e maiores diferenças entre versões dos SOs... a própria Unit PCap.pas já cuida destes detalhes para você:
Bom divertimento...
Marco Salles
11/04/2005
tenho um modem speedstream roteado para o provedor velox, o qual está ligado a uma placa de rede
[color=darkred:47728aeb1d]Tb uso Velox[/color:47728aeb1d]
[URL=http://www.imageshack.us][img:47728aeb1d]http://img231.echo.cx/img231/5682/imagemprojetozniffert0bj.jpg[/img:47728aeb1d][/URL]
Citação :Nerdex
Aonde vai incluir Isto :cry: :cry: :cry:
Sera , que [b:47728aeb1d][color=darkred:47728aeb1d]eu e o edicilmar [/color:47728aeb1d][/b:47728aeb1d], pegamos o Mesmo exemplo Que voce pegou :?: :?: :?: :?:
Olhe aonde eu peguei o meu exemplo:
[size=18:47728aeb1d][size=24][color=darkred:47728aeb1d]Fzniffer := TZniffer.create; [/color:47728aeb1d][/size:47728aeb1d][/size]
Que aparentemente é o mesmo do edicilmar: :cry: :cry: :cry:
[URL=http://www.imageshack.us][img:47728aeb1d]http://img215.echo.cx/img215/866/imagemprojetozniffert23by.jpg[/img:47728aeb1d][/URL]
[b:47728aeb1d]Estamos falando DO MESMO EXEMPLO[/b:47728aeb1d] :?: :?: :?: :?:
Nerdex
11/04/2005
No win98SE eu testei com estes arquivos e funcionou...: :twisted:
- NPF.VXD
- PACKET.DLL
- WPCAP.DLL
Para rodar no winXP inclua + um arquivo. Tente encontrar pela aplicação original do WinPCap para SOs 2K e XP o arquivo PACKET.SYS, logo após, teste posicionado este arquivo em (\drivers) ou (\system32) junto com packet.dll e wpcap.dll...
Divirtam-se...: :?
Marco Salles
11/04/2005
[b:f6c83593ad]Fiz uma pesquisa e não obtive Resultados...[/b:f6c83593ad]
:cry: :cry: :cry: :cry:
Edilcimar
11/04/2005
Edilcimar
11/04/2005
Marco Salles
11/04/2005
Alguem , por favorrrrrrrrrrrrrrrr, mande este packet.sys para a gente :cry: :cry: :cry:
e a novela continua ...
Nerdex
11/04/2005
Fico no aguardo dos senhores tomarem maiores iniciativas...
Edilcimar
11/04/2005
Nildo
11/04/2005
Edilcimar
11/04/2005
Marco Salles
11/04/2005
Fala assim não , que não e verdade.
Nildo
11/04/2005
Fonte: http://winpcap.polito.it/misc/changelog.htm
Marco Salles
11/04/2005
O meu nen tem a o packet.dll :cry: :cry:
E acho que so Falta isto.. Veja quando tento rodar o aplicativo:
[URL=http://www.imageshack.us][img:b9355d5381]http://img164.echo.cx/img164/736/imagemprojetozniffert34ru.jpg[/img:b9355d5381][/URL]
Diz que não foi encontrado a packet.dll :cry:
Edilcimar
11/04/2005
Nerdex
11/04/2005
Edilcimar
11/04/2005
Marco Salles
11/04/2005
Citação de Nildo
Eu tenho o npf.sys.. Ele se encontra em C:\Windows\system\drivers
o npf.vxd eu nun tenho :cry: :cry: :cry:
Sera que eu preciso colocar o npf.sys Na Pasta do Aplicativo , ou mudar o caminho do Mesmo para C:\Windows\system32....
Marco Salles
11/04/2005
Nerdex
11/04/2005
Testa aí na mesma pasta do aplicativo... para ver o q dá... então...
No teu teste ele acusou a falta do .vxd?
Nerdex
11/04/2005
Tive que tirar o BatMan, pois fugi às regras de conduta (era quase um DIVx do filme como avatar...)...: :shock:
Eu guardo a anos este Raio X... como recordação...: :cry:
Foi antes de eu ter realizado uma plástica de alta impedância e risco, onde me submeti a uns 6 anos atrás...:
saiu no revista Veja sobre o assunto! (2 págs)...
Marco Salles
11/04/2005
Citaçaõ de Marco salles
:cry: :cry: :cry: :cry: :cry: :cry: :?: :?: :?:
Famosa em Menina... Gostaria de ver a materia
Nildo
11/04/2005
Nerdex
11/04/2005
Nildo
11/04/2005
Hahaha!
Creio que seria melhor alguém perguntar lá no site do driver, porque que a lista de adaptadores retorna vários ´?´.
Edilcimar
11/04/2005
Nerdex
11/04/2005
O WinPCap faz o q vc quer ... e muito bem por sinal - são portas, pacotes, IPs... tudo rastreado, mas o que pegou aqui foi a confusão dos drivers entre as versões dos SOs, que nesta altura, felizmente já foi esclarecida...:
Abraço a todos que de alguma forma contribuíram à este Tópico...: :wink:
Nildo
11/04/2005
Como não importa? A estrutura interna do win9x é completamente diferente da do WinXP, logo, os drivers devem ser adaptados para funcionar em todas as versões. Não necessariamente o que funciona no win9x vai funcionar no XP e vice-versa.
Edilcimar
11/04/2005
Nildo
11/04/2005
A tá, eu entendi que, se não importa algumas opções, logo qualquer uma delas é válida.
Creio que você tenha que perguntar no site do criador do driver porque que retorna os ´????´
Edilcimar
11/04/2005
Edilcimar
11/04/2005
Massuda
11/04/2005
Nerdex
11/04/2005
Hi ... chegou o mestre ... só vc mesmo para matar essa ...: :idea: ! Valeu Massuda! ´isso deu mó pano prá manga ... como diz o otro´ ... e diga-se de passagem. Esta referência que vc citou para instalar, contém mesmo os arquivos mencionados para o XP (npf.sys e npf.vxd)?
Viu ediucilei e Salles! o cara conseguiu pra nóis! ...: :D
Edilcimar
11/04/2005
Massuda
11/04/2005
C:\WINDOWS\system32\drivers\npf.sys
C:\WINDOWS\system32\packet.dll
C:\WINDOWS\system32\wanpacket.dll
C:\WINDOWS\system32\wpcap.dll
C:\WINDOWS\system32\pthreadVC.dll
C:\Arquivos de programas\WinPcap\npf_mgm.exe
C:\Arquivos de programas\WinPcap\daemon_mgm.exe
C:\Arquivos de programas\WinPcap\rpcapd.exe
C:\Arquivos de programas\WinPcap\NetMonInstaller.exe
Edilcimar
11/04/2005
Massuda
11/04/2005
Edilcimar
11/04/2005
Edilcimar
11/04/2005
Nildo
11/04/2005
SIM eu tenho uma sugestão. Que questionar o criador da biblioteca sobre isso? Talvez ele saberia te responder.
Nildo
11/04/2005
Vai demorar uns 4 meses para ficar 100¬ funcional.
Um abraço
Edilcimar
11/04/2005
Se eu conseguisse quem fez, com certeza perguntaria!
Quanto ao teu projeto, se precisar de ajuda fale
Nildo
11/04/2005
Se eu conseguisse quem fez, com certeza perguntaria!
Quanto ao teu projeto, se precisar de ajuda fale[/quote:d25ec32b91]
Você tem o site do criador. Procura algum contato lá que deve ter
Nerdex
11/04/2005
...são os necessáros, visto que .VXDs são para win98...
Já que o maior interessado é o Sr. peça por e-mail estes arquivos a Massuda, e teste naquele exemplo de código Delphi inicial que nós temos ... depois posta aí os resultados... Digo isto, porque a Unit do proj. Delphi já prevê o reconhecimento do SO XP como está escrito no código e ao meu ver o autor não iria cometer tamanho ´descaso´ de não suportar o XP por faltas/incompatibilidades em drivers ao seu projeto (seria muita queimação de filme desse cara! hehehe). Para isto veja este fragmento que eu retirei:
type TWinVersion = (wv_WinS, wv_Win9x, //Added by Lars Peter Christiansen. wv_WinNT, //Eases the process of determing the wv_Win2000, //platform and do proper instructions wv_WinXP, //I.e : Char vs. WideChar issue wv_Unknown ); ... // WINDOWS NT,2000 or XP Else if (ver=wv_winNT) or (ver=wv_win2000) or (ver=wv_winXP) then begin Getmem(AdapterName1,1024*Sizeof(char)); PacketGetAdapterNames(Pchar(@wAdapterNames),@NameLength); for i:=0 to NameLength-1 do begin if (Wadapternames[i]=0)and(wadapternames[i+1]=0) then break; AdapterName1[i] := char(wAdapterNames[i]); end; result := adaptername1; end;
Nildo
11/04/2005
http://www.ProjetoBMS.net/Downloads/BmsSniffer.zip
Por favor, me reportem se acontecer algum erro do tipo Access Violation ou qualquer outra coisa.
Obrigadoooooo, me falem se está ficando legal!
Um abraço
Nerdex
11/04/2005
Legal Nildo ... Testei: nenhum erro (laguei tudo na pasta documentos mesmo) e vi que são exibidos vários outros ítens também importantes, mas os números IPs externos/acessados não são capturados como no WinPCap, veja um exemplo:
11:53:28 - iexplore.exe enviando 1 bytes: 11:53:28 - iexplore.exe enviando 686 bytes: /grafica/ico_Enviados.gif HTTP/1.1 Accept: */* Referer: http:mail.ubbi.com.br/inbox.asp Accept-Language: pt-br Accept-Encoding: gzip, deflate If-Modified-Since: Wed, 15 Dec 2004 14:15:01 GMT If-None-Match: "8020e476b0e2c41:913" User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: mail.ubbi.com.br Connection: Keep-Alive Cookie: SITESERVER=ID=226b6f1e0b43896ed9f2fd11a58aa1e1; Control=TS=jn6Ojn6OiWRTBWehK0BPK0HPBeXj&Logueo=iCRt; REG=TU=icRt&LO=ryx05yju34bIrPbT5y9NgyjI3n1CrCRt&AP=HVXGrfS¬F1&PL=iORt&UI=j¬F1rPj0HvHWit&NO=oyx0549w3ORt&IU=iPRvj¬F1HVjWrt; ASPSESSIONIDACSTSTRR=BKGLNCCCEKLHLFBHOEOALEOF; ASPSESSIONIDQSRTDDRD=FPEAPGLBNJNMKCACFIKHHIBL
Mas esta DLL já faz um bom trabalho e dependendo do tipo de necessidade do usuário esta aplicação já é uma mão na roda...: :lol:
Nildo
11/04/2005
Isso eu vou fazer, não vai dar trabalho, é facil. Mas eu só fiz mesmo para capturar os pacotes enviados, uma coisa bem básica, só para testar mesmo.
Conforme for passando o tempo e eu for colocando novos recursos, eu vou mostrando o resultado final.
Nildo
11/04/2005
Nerdex
11/04/2005
Matou a concorrência em todos os sentidos...
Nildo
11/04/2005
Edilcimar
11/04/2005
http://www.ProjetoBMS.net/Downloads/BmsSniffer.zip
beleza este funciona, ele diz qual o programa que está enviando o o que o bloco contém, mas infelizmente ainda não diz qual o arquivo que está sendo enviado nem para onde está indo, você pretende implementar esta parte também?
Nildo
11/04/2005
Com certeza, já está sendo implementado.
Mas não existe isso de saber qual arquivo está sendo enviado. O programa envia os pacotes do jeito que ele achar melhor, o conjunto de pacotes vai formar um arquivo, mas não há como saber o Arquivo. apenas os pacotes
Edilcimar
11/04/2005
Nildo
11/04/2005
Este nome de origem ao qual você se refere não da pra saber, porque cada aplicação tem seu modo de enviar o nome separado dos pacotes do conteúdo do arquivo. Se fosse um padrão daria, porém, não é.
E o endereço de destino, sim, é possível
Edilcimar
11/04/2005
Nildo
11/04/2005
Bom nesse caso, o usuário do meu componente deve analisar os pacotes para saber se contém o nome do arquivo. Eu apenas vou disparar um evento contendo o pacote.
Edilcimar
11/04/2005
Massuda
11/04/2005
Acho que você está confundindo a questão do protocolo de transporte (que é o que o Nildo está analisando com o componente dele) com o protocolo de aplicação.
O protocolo de aplicação pode ser qualquer um... HTTP, FTP, TFTP, etc. até mesmo um protocolo inventado pelo cara. No caso dos protocolos conhecidos, seria possível escrever um analisador de protocolos e extrair a informação que você deseja. Mas no caso de um protocolo proprietário ou que utilize algum mecanismo de segurança (por exemplo, HTTPS), você provavelmente não teria como analisar os pacotes de um modo simples.
Nildo
11/04/2005
[b:da1aa587f6]NÃO[/b:da1aa587f6] há como saber, se você não souber o padrão que o Server do hacker utiliza. Se você tiver certeza que na posição X do pacote similar ao pacote Y, tiver o nome do arquivo, então você poderá fazer um parsing. Ou então você pode procurar por informações do tipo: ´.???´ no pacote, para saber se encontra alguma máscara de nome de arquivo. Pois o nome do arquivo poderá estar em qualquer lugar do pacote, e em qualquer pacote, e também criptografado. Não é a WinSock que trata este assunto, é o programador que define a melhor maneira de enviar o nome do arquivo junto com o pacote. Lembrando que um arquivo vai ser transmitido em centenas de pacotes, o nome dele estará em apenas 1 (se tiver).
A transmissão é feita via Pacotes, e não via Arquivos. Você envia os bytes do arquivo, e não o arquivo em sí.
Nildo
11/04/2005