Создание TCP-соединения с использованием необработанных сокетов находится где-то между трудным и невозможным; вам нужно будет реализовать весь протокол tcp в вашей программе AND , также не позволяя ядру отправлять свои собственные ответы на пакеты (если у ядра есть IP-адрес, связанный с этим адресом на этом интерфейсе).
Это, вероятно, не то, что вы хотите. Однако, если вы этого захотите, отправлять кадры tcp с любого порта источника, который вам нужен, тривиально, так как вы можете указать его в заголовке tcp, что, конечно, если вы реализуете свой собственный уровень TCP, надо понимать.