DDoS 공격의 출처를 추적하기 위해 상대방의 IP 주소를 알아내는 방법에는 여러 가지가 있다.
일반적으로 사용되는 방법들은 다음과 같다.
설명: 서버에서 수집하는 로그를 분석하여 비정상적인 요청 패턴을 찾아 공격자의 IP 주소를 확인할 수 있다.
웹 서버 로그, 방화벽 로그 및 애플리케이션 로그를 모니터링하는 것이 좋다.
import logging
# 로그 설정
logging.basicConfig(filename='access.log', level=logging.INFO)
@app.route('/api', methods=['GET'])
def api():
client_ip = request.remote_addr
logging.info(f"Request from {client_ip} at {time.strftime('%Y-%m-%d %H:%M:%S')}")
return "Request Successful"
설명: 특정 DDoS 공격 도구(예: tcpdump
, netstat
)를 사용하여 실시간 트래픽을 분석하고 의심스러운 IP 주소를 확인할 수 있다.
# 특정 포트에서 트래픽 캡처
sudo tcpdump -i eth0 port 80
설명: CDN(콘텐츠 전송 네트워크)을 사용할 경우, 요청 헤더에서 원래 클라이언트의 IP 주소를 확인할 수 있다.
예를 들어, Cloudflare나 AWS의 경우 X-Forwarded-For
헤더를 통해 원래의 IP를 알 수 있다.
@app.route('/api', methods=['GET'])
def api():
client_ip = request.headers.get('X-Forwarded-For', request.remote_addr)
logging.info(f"Request from {client_ip}")
return "Request Successful"
이러한 방법들은 DDoS 공격의 출처를 추적하는 데 도움이 될 수 있지만, 실제로는 더 많은 기술적, 법적 장치가 필요할 수 있다.