rinetd
그런 식으로 연결을 다시 라우팅 하고 클라이언트 및 서버 메시지를 저장하고 싶습니다 .
그런 도구가 있나요? 저는 데비안을 사용하고 있습니다.
답변1
rinetd 배경
rinetd.conf
이 기사에서 찾은 다음 제목의 간단한 예제 파일을 확인하십시오 .Rinetd – 한 IP 주소 및 포트에서 다른 IP 주소 및 포트로 TCP 연결 리디렉션:
# bindadress bindport connectaddress connectport
192.168.2.1 80 192.168.2.3 80
192.168.2.1 443 192.168.2.3 443
iptables 리디렉션 사용
이와 같은 규칙을 사용하면 비슷한 결과를 얻을 수 있습니다 iptables
.
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 \
-j DNAT --to-destination 192.168.2.3:80
$ sudo iptables -t nat -A POSTROUTING -p tcp --dport 25 -j MASQUERADE
위 코드는 로컬 호스트(192.168.2.1)의 포트 80을 원격 호스트(192.168.2.3)로 리디렉션합니다. 이 규칙은 다음과 같은 제목의 기사에서 찾은 내용을 기반으로 합니다.iptables 팁과 요령 - 포트 리디렉션.
ulogd를 사용하여 패킷 기록
netfilter의 사용자 공간 로깅 데몬을 사용하면 ulogd
추가 규칙/스위치를 추가하여 다음 기사에 따라 패킷 로깅을 얻을 수 있습니다.커널에서 패킷 꺼내기. 배포판의 패키지 관리를 사용하여 설치 ulogd
하고 시작했다고 가정합니다.
$ sudo service ulogd start
기사의 예에서는 ping
패킷을 주소 99.99.99.99에 기록합니다.
$ ping -c 5 99.99.99.99
$ sudo iptables -I OUTPUT -d 99.99.99.99 -j ULOG --ulog-nlgroup 1 \
--ulog-cprange 100
그런 다음 로그 파일을 사용하여 저장된 파일을 tcpdump
볼 수 있습니다 .ulogd
/var/log/ulogd.pcap
$ sudo tcpdump -r /var/log/ulogd.pcap -qtnp
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
다음과 같이 실시간 스트림을 시청할 수 있습니다.
$ tail -f /var/log/ulogd.pcap | tcpdump -r - -qtnp
패킷을 보려면 iptables
필요에 따라 위의 규칙을 변경해야 합니다.