arquivo

Arquivo da tag: network

Voltando a programar bem depois de um tempo parado fazendo apenas scripts, resolvi adicionar suporte no meu gerenciador de arquivos ao samba e o ssh, por enquanto o ssh tá apenas na lista de estudos e pendências, mas o suporte ao samba já está virando uma realidade como pode ser visto abaixo. Clicando aqui você pode vêr o código do fonte se quiser maiores detalhes do algoritmo.

Fazendo algumas alterações para demonstração temos isso aqui.

$ gcc -o libsmb libsmb.c -lsmbclient

Listando a rede samba em busca de grupos de trabalho:

$ ./libsmb list smb://
wee!! cmd 'list' host 'smb://'
1, grupo de trabalho,	MULATINHO

Opa! Existe um grupo de trabalho na rede chamado ‘MULATINHO’, vamos vê-lo:

$ ./libsmb list smb://MULATINHO
wee!! cmd 'list' host 'smb://MULATINHO'
2, maquina,	FERNANDA
2, maquina,	FORREST

Hmmm, duas máquinas na rede, vamos examinar o ‘FORREST’

$ ./libsmb list smb://FORREST
wee!! cmd 'list' host 'smb://FORREST'
3, compartilhamento,	multimedia
3, compartilhamento,	tmp
6, desconhecido,	IPC$
4, impressora,		HP

E esse diretório compartilhado chamado ‘multimedia’?

$ list smb://FORREST/multimedia
wee!! cmd 'list' host 'smb://FORREST/multimedia'
7, diretorio,	.
7, diretorio,	..
8, arquivo,	sparks-reddawn2012-xvid.avi
8, arquivo,	The.Campaign.EXTENDED.DVDRip.XviD-COCAIN.avi
8, arquivo,	psig-ted.2012.dvdrip.xvid.ac3.srt
7, diretorio,	Madagascar.3.Europes.Most.Wanted.2012.DVDRip.XViD-PLAYNOW
8, arquivo,	O Melhor dos Trapalh_es na TV Volume 2--lJsjEr3pWg.mp4

Hmm.. tava querendo essa legenda do filme TED, vamos baixá-la!

$ ./libsmb recv smb://FORREST/multimedia/psig-ted.2012.dvdrip.xvid.ac3.srt
wee!! cmd 'recv' host 'smb://FORREST/multimedia/psig-ted.2012.dvdrip.xvid.ac3.srt'
file 'psig-ted.2012.dvdrip.xvid.ac3.srt' is written in localhost.

Aqui você pode ver o arquivo baixado corretamente.

$ ls -l psig-ted.2012.dvdrip.xvid.ac3.srt 
-rw------- 1 mulatinho mulatinho 106496 May  4 21:41 psig-ted.2012.dvdrip.xvid.ac3.srt

Tudo isso apenas usando a libsmbclient que vem junto ao pacote do samba. 🙂
Vejo vocês depois!

(texto antigo, 2009 por ae)

Decidi mexer um pouco nos códigos antigos e meu escaneador de portas (código fonte aqui) foi o escolhido, tinha subido ele pro repositório bem sujo e resolvi atualizá-lo, agora o portscan por IP consegue fazer milhares de requisições em paralelo em apenas poucos segundos e te fornece todas as portas abertas. Quem quiser dar uma olhada melhor basta baixar o fonte e compilar conforme o final do post. Veja alguns exemplos do ‘hardscan’ em uso:

$ ./hardscan 
uso: ./hardscan IP [1-65535]
Onde, IP é o endereço do protocolo de internet e o segundo argumento um range de portas.

$ ./hardscan 77.75.12.178 1-555
scanning ports on host '77.75.12.178'..
   22, esta aberta mestre! :]
   80, esta aberta mestre! :]
  554, esta aberta mestre! :]

$ ./hardscan 200.200.45.98 20-22
scanning ports on host '200.200.45.98'..
   21, esta aberta mestre! :]
   22, esta aberta mestre! :]

Baixe o fonte e compile usando o ‘gcc’:
$ gcc -O2 -lpthread -o hardscan hardscan.c
$ ./hardscan IP portaIncio-portaFim

%d blogueiros gostam disto: