extern crate etherparse;
use etherparse::*;
fn main() {
let builder = PacketBuilder::
ethernet2([1,2,3,4,5,6], [7,8,9,10,11,12]) .ipv4([192,168,1,1], [192,168,1,2], 20) .tcp(21, 1234, 1, 26180)
.ns() .ack(123) .urg(23)
.options(&[
TcpOptionElement::Nop,
TcpOptionElement::MaximumSegmentSize(1234)
]).unwrap();
let payload = [1,2,3,4,5,6,7,8];
let mut result = Vec::<u8>::with_capacity(
builder.size(payload.len()));
builder.write(&mut result, &payload).unwrap();
println!("{:?}", result);
}