지정된 포트에서 수신 대기하고 SYN이 수신되면 명령줄 TCP 서버(가급적 단일 줄)를 찾고 있습니다.아니요일반 TCP 서버처럼 SYN-ACK로 응답합니다.
이 상황을 올바르게 처리하기 위해 과부하 상태에서 서버에 연결을 시도하는 클라이언트를 테스트하는 것이 목적입니다.
답변1
내가 아는 한 이것은 전적으로 가능합니다. 원시 IP 소켓에 바인딩해야 합니다.UID= 0(그러나 이를 방지하기 위해 정의된 함수가 있을 수도 있습니다. 잘 모르겠습니다). 사실 그게 다야조짐일하는 중입니다스텔스 모드.
답변2
설명하신 대로 명령줄 도구를 찾지 못했지만 해결 방법이 있습니다.iptables:
sudo iptables -A INPUT -p tcp --destination-port 52379 -j DROP
답변3
-l 옵션과 함께 nc(netcat)를 사용해 볼 수 있습니다.
-l Used to specify that nc should listen for an incoming connection rather than initiate a connection to a remote host. It is an error to use this option in conjunction with the -p, -s, or -z options. Additionally, any timeouts specified with the -w option are ignored.
에서와 같이
nc -l yourport
답변4
Syn-ack에 응답하지 않으면 상대방이 계속해서 syn-ack을 보낼 수 있습니다. 포트 9가 수행하는 작업을 수행하여 이 문제를 파악할 수 있습니다. 즉, 승인(즉, syn-ack 전송)을 수행한 다음 다른 모든 패킷을 삭제합니다. 바라보다 /etc/services
. 소켓을 소모합니다.
또 다른 옵션은 방화벽에서 IP + 포트를 차단하고 60분 후에 규칙을 삭제하는 것입니다.