terça-feira, 29 de janeiro de 2008

Argumentos em linha de comand e pcaplet (para captura de pacotes)

Estou voltando ao problema relatado anteriormente com o intuito de alguma alma me ajudar nesta questão. Perdi mais de uma hora eu acho para descobrir, a duras penas, que não posso fazer captura de pacotes com o pcaplet quando envio argumentos por linha de comando. Explicando melhor, considerem o código abaixo em um arquivo de nome cap.rb:

01 #!/usr/bin/env ruby
02 require 'pcaplet'
03 cap = Pcaplet.new("-i eth0 -s 128")
04 filter = Pcap::Filter.new('ip', cap.capture)
05 cap.add_filter(filter)
06 cap.close

Se simpleste eu rodá-lo com "ruby1.8 cap.rb" beleza, não é gerado nenhum erro, mas se eu rodo-o assim "ruby1.8 cap.rb argumento", simplesmente o programa para a execução na linha 03 e retorna a mensagem de erro "setfilter: syntax error".

Estava precisando enviar parâmetros por linha de comando para facilitar a vida de quem precisa enviar parâmetros à uma aplicação.

Assim que eu conseguir algum progresso neste sentido posto aqui, senão fico aguardando a sugestão de quem quiser me ajudar.

Nenhum comentário: