================================================================================
source :
Syn Flooder by
Zakath ( made by C )
================================================================================
.
.
.
.
main ( int argc, char **argv)
{
for ( i=1;i>0;i++)
{
if {
// make a random src IP
}
// call
spoof_open function : param ( 1. me_fake , 2. them , 3. x : port )
}
}
.
.
unsigned long
spoof_open(.....)
{
// set ip header values
// set tcp header values
// call
send_tcp_segment
// param ( 1. & ip_header, 2. &tcp_header , 3. data, 4.data_length)
}
.
.
void send_tcp_segment (.....)
{
// make a packet and send to victim
}
================================================================================
Explicit
Congestion
Notification
Explicit Congestion Notification(ECN)[2]은 네트워크상에 일어날 가능성이 있는 혼잡을
미리 탐지하여 이를 송신측에 알려 전송속도를 조절하는 방식
.........
RED 알고리즘이 임박한 혼잡을 탐지했을 때 임의의 패킷들을 폐기하는 것과 달리,
ECN 알고리즘은 혼잡이 예상되면 도착하는 임의의 패킷의 IP헤더에 존재하는
CE-bit(Congestion Experienced bit)을 세팅(setting)하게 되고 이 패킷이 수신측에 도착하면
이를 송신측에 알리기 위해서 생성하는 ACK 패킷의 TCP헤더에 존재하는 ECN-Echo flag를
세팅하여 전송한다. 이 flag의 세팅은 새로 도착하는 같은 flow의 패킷 중에서
CWR(Congestion Window Reduced) flag가 세팅되어 도착할 때까지 계속된다.
송신측에서는 ACK 패킷의 ECN-echo flag가 세팅 되어 도착하면 혼잡이 일어날 가능성이
있음을 감지하고 송신윈도우의 크기를 절반으로 줄이는 등 이 TCP reno 메커니즘과
유사한 대응책을 취한다. 그리고 나서 다음 송신 패킷의 CWR flag를 세팅하여 보냄으로써
혼잡에 대비한 적절한 대책을 취했음을 수신측에 알려
더 이상 ECN-Echo flag를 세팅하지 않도록 한다.
...........
...........
원문 : '
TCP의 ECN 기능을 이용한 Differentiated Services의 Assured Service에서의
Fairness 향상에 관한 연구 '
오 종 채, 정 재 일
한양대학교 전자전기공학부
================================================================================
<
Packet Capture >
1. Set FLAGS(
SYN, ECN, CWR )
2. Set FLAGS(
SYN )
================================================================================
< CMD (
netstat -apnt ) in Server >
Foreign Address State
================================================================================
< Separately, CMD (
tcpdump port 80 > test_syn,test_syn2 ) in Server , during same time>
[root@58ya:/root]#ls -l test_syn*
-rw-r--r-- 1 root root
1438 2009-03-12 18:01 test_syn // SYN
-rw-r--r-- 1 root root
1856 2009-03-12 18:03 test_syn2 // SYN, ECN, CWR
Bcoz, RED 알고리즘이 임박한 혼잡을 탐지했을 때 임의의 패킷들을 폐기하는 것과 달리.....
================================================================================
<Prevent SYN Flood >
by Mike Chirico <
mchirico@users.sourceforge.net >
# shut DoS stuff down
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# increase the SYN backlog queue
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
================================================================================
솔직히 분석이 아니라 보이는대로 짜맞춘 것 같다.
IP SPOOFING 하는 부분 찾아보다가 여기까지 쓰게됐다;;
고칠 부분좀 댓글로 달아주시면 감사하겠습니다.(__)
================================================================================