TCP: соединение и передача данных

Установите TCP-соединение и передайте сообщение.

Сеть

Прокрутите схему по горизонталиОткрыть схему целиком
PC1 с 192.168.1.1/24 напрямую соединён с PC2 с 192.168.1.100/24.
PC1 — клиент, PC2 — сервер на TCP-порту 5555.

Как открыть консоль

1. Проверьте закрытый порт

PC1

ping -n -c 3 -W 1 192.168.1.100
nc -v -N -w 3 192.168.1.100 5555

Пинг проходит, но TCP-соединение отклоняется.

2. Запустите сервер и отправьте сообщение

PC2

nc -l -k 5555 >> /tmp/lab-tcp.txt &
listener_pid=$!

PC1

timeout 120 tcpdump -U --immediate-mode -i eth0 -w /tmp/lab-tcp.pcap "tcp port 5555" &
capture_pid=$!
sleep 1

PC1

printf 'tcp-handshake-lab\n' | nc -N -w 5 192.168.1.100 5555

3. Проверьте рукопожатие и данные

PC1

sleep 2
kill -INT "$capture_pid"
wait "$capture_pid" || true
tcpdump -nn -e -r /tmp/lab-tcp.pcap

Найдите SYN, SYN+ACK, ACK, затем пакеты с данными.

PC2

cat /tmp/lab-tcp.txt
kill "$listener_pid"

В файле должно быть сообщение tcp-handshake-lab.

Проверка

Нажмите «Проверить». Когда все шаги пройдены, нажмите «Завершить».