외부 데비안 서버가 있습니다. 문제는 우리 대학 캠퍼스에서는 포트가 TCP 포트 22, 80, 443 또는 UDP 포트 123과 다를 경우 외부로의 연결을 허용하지 않는다는 것입니다. 수동으로 테스트했습니다. 내 Debian 서버에서 모든 UDP 및 TCP 포트를 수신하여 우리 대학이 방화벽을 통해 허용하는 TCP 및 UDP 포트를 명확하게 파악하고 싶습니다. Nmap은 클라이언트 측에서 이를 테스트하는 데 적합하지만 서버 측에서는 어떻게 해야 합니까?
답변1
TCP 덤프일반적으로 Linux 배포판에는 표준으로 제공됩니다. 서버에 표시되는 모든 패킷을 기록합니다.
소음을 줄이기 위해 클라이언트 IP 필터와 함께 실행되도록 설정할 수 있습니다.
여기에는 로컬 시스템의 iptables가 허용하지 않는 패킷이 포함되어 있다고 생각합니다. 하지만 이를 테스트해 볼 수도 있습니다.
예를 들어
/usr/sbin/tcpdump -i eth0 -c 3000000 -np host client.example.com >tcp.log
그런 다음 클라이언트에서 nmap을 실행하십시오.
답변2
sudo iptables -t nat -p tcp -I PREROUTING -m multiport --dports 1:65535 -j DNAT --to-destination :5555
ncat -lkp 5555 -vvv
답변3
지금은 이것을 테스트할 좋은 방법이 없지만...
iptables
각 포트를 단일 포트로 변환 할 수 있다고 생각합니다 . 다음과 같이 보일 것입니다:
iptables -t nat -I PREROUTING -m multiport -sports 0:65535 -J DNAT --to-destination 127.0.0.1:1024
그러면 들어오는 모든 포트가 1024로 리디렉션됩니다. 그런 다음 1024에서 서버를 시작할 수 있습니다.
답변4
내 생각에는 UDP나 TCP를 사용하여 작은 프로그램을 작성한 raw sockets
다음 모든 포트에서 수신 대기하고 헤더를 필터링하여 포트를 알 수 있을 것입니다.