Fred,
Sobre o mac-destino, será que não valeria à pena usar as funções do kernel para resolução ARP *antes* de começar a construções dos pacotes ? Assim facilita o trabalho, sem ter que implementar a resolução arp no código do T50NG.
Pessoalmente eu acho que algumas facilidades do L2 devem estar presentes no projeto, inclusive eu já tinha conversado com você e também com o Nelson sobre isso, tanto que tenho a minha versão estas possiblidades. Não por conta das limitações de bind em interface, mas para poder ampliar os testes para switches e routers conectados ao mesmo segmento (apesar de existirem outras ferramentas para isso).
Sobre os pacotes vazios, dependendo da técnica utilizada para os pacotes, se tiver conteúdo (payload) só vai atrapalhar, pois pode comprometer o tamanho das filas dos equipamentos que estiverem "entre" os elementos dos testes.
Porém, para algumas técnicas, pode ser interessante, mas eu acredito bastante que nenhuma delas vai precisar ser maior que o MTU (para necessitar de framentação) e se precisar, não vejo o T50 como a ferramenta adequada para implementar esta técnica, até porque vai perder o sentido de injeção de pacotes de alta performance.
Sobre um parser de expressões, tipo o tcpdump, pode ser bem legal, e sobre scripting, sugiro até começarmos pensar em uma interface com "LUA" tipo o nmap.
São idéias, podemos debate-las melhor.
sds
Kl0nEz