#!/usr/bin/env ruby # # $Id: ntp 174 2010-08-21 22:26:52Z jhart $ # # Send lolcat NTP packets require 'rubygems' require 'racket' include Racket unless (ARGV.size == 2) puts "Usage: #{$0} " exit end n = Racket::Racket.new n.iface = "eth0" n.l3 = L3::IPv4.new n.l3.src_ip = ARGV[0] n.l3.dst_ip = ARGV[1] n.l3.protocol = 0x11 n.l4 = L4::UDP.new n.l4.src_port = 12345 n.l4.dst_port = 123 n.l5 = L5::NTP.new("I'm in your ntp, stealin ur time") n.l4.payload = n.l5 n.l4.fix!(n.l3.src_ip, n.l3.dst_ip) n.l4.payload = "" f = n.sendpacket n.layers.compact.each do |l| puts l.pretty end puts "Sent #{f}"