TCP 패킷이 시스템을 떠날 때 다시 쓰는 쉬운 방법이 있습니까(또는 가능합니까)?
예를 들어, 내가 실행하면
telnet binfalse.de 22
머신에서 나가기 위해 사용되지 않는 포트를 찾습니다. 이 경우는 다음과 같습니다 46576
.
root@srv % lsof -i -P -n | grep telnet
telnet 10150 user 3u IPv4 1159425 0t0 TCP 1.2.3.4:46576->87.118.88.39:22 (ESTABLISHED)
1337
하지만 이제 서버가 요청이 port 등에서 오는 것으로 생각하도록 이러한 패킷을 다시 작성하고 싶습니다 . 물론, 나는 telnet
회의에서 답변을 기대할 필요가 없다는 것을 알고 있었습니다.
편집하다:
물론, 1337
다른 방송에 출연하는 건 듣는 거였으니, 폄하 telnet
할 1337
수는 없겠지만…
답변1
Linux에 대해 이야기하고 있다고 가정하면 나가는 TCP 트래픽에 대해 온갖 종류의 미친 작업을 수행하는 테이블이 iptables
있습니다 . NAT 기능도 도움이 될 수 있습니다. "포트 주소 변환" 또는 "수동 NAT"를 수행하고 싶은 것처럼 들리기 때문입니다.mangle
iptables
답변2
telnet
해당 프로토콜(또는 원시 TCP 스트리밍)을 사용하는 경우 다음 을 사용하여 텔넷 옵션을 협상 할 수 있습니다 nc -p <source_port>
. -t
저 아래에는 텔넷 연결을 허용하는 터미널 서버가 있는데 tcp/2015
, 먼저tcp/31415
# Window 1
[mpenning@hotcoffee ~]$ nc -p 31415 -t 192.168.12.117 2015
????????????????
8024-1(config-if-Po2)#
확인하다...
[mpenning@hotcoffee tshark_wd]$ netstat -an | grep 31415
tcp 0 0 192.168.12.236:31415 192.168.12.117:2015 ESTABLISHED
[mpenning@hotcoffee tshark_wd]$
이는 아직 로컬 소켓에서 수신 대기하고 있지 않다고 가정합니다 tcp/31415
. 필요한 포트에 바인딩된 로컬 TCP 소켓이 이미 있는 경우 iptables
이것이 유일한 옵션입니다.