Home > Experiential Learning > Understanding Transport Layer Basics – Experiential Learning Series

Understanding Transport Layer Basics – Experiential Learning Series

Exercise 6

Topic: TCP Resets

a. Repeat the exercise as carried out for UDP integrity check (Exercise 3:) but using TCP protocol. To use nc
with TCP, do not use the option ‘-u’.

b. Run the wireshark capture on client machine.

c. Do not run the nc server but just run the nc client and connecting to nc server i.e. on client terminal
“nc 10.1.1.1. 8888”.

d. The wireshark capture should show that client initiating the TCP Connection by sending the TCP SYN
packet but it should receive TCP Reset packet in response since no server is running on port 8888.

e. Repeat the TCP streaming exercise as described about (Exercise 4:).

f. Start the wireshark capture on both client and server.

g. Once the first message is received on the server and it displays the content of first message, about the
server program. Press Ctrl-C on terminal windows running TCP server program.

h. Analyze the wireshark capture of TCP communication on both server and client. It should show
transmission of TCP Reset.

i. On receipt of TCP Reset, the client socket will be closed by TCP stack on client side and any further usage
will result in about of client program as well.

Exercise 7:

Topic: UDP Server Not Running

a.Repeat the exercise as carried out for UDP integrity check (Exercise 3:) but do not run the UDP Server.

b.Run the wireshark capture on client machine.

c.Just start the UDP client using nc and send some data.

d.Analyze the wireshark capture on client. It should show ICMP Error “Port Unreachable”.

e.This exercise demonstrates UDP communication behavior when no application is running to receive the UDP message.

References

 
[1] RFC 793, “Transmission Control Protocol“, Information Sciences Institute, USC, CA, Sep 1981, https://tools.ietf.org/html/rfc793. Last accessed Aug 2018.

[2] RFC 768, “User Datagram Protocol”, J. Postel, Aug 1980, https://tools.ietf.org/html/rfc768, last accessed Aug 2018.

[3] RFC 791, “Internet Protocol”, Information Sciences Institute, USC, CA, Sep 1981, https://tools.ietf.org/html/rfc791, last accessed Aug 2018

[4] RFC 2616, “Hyper Text Transfer Protocol – HTTP/1.1”, Network Working Group; Fielding, Gettys et al. June 1999, https://tools.ietf.org/html/rfc2616, last accessed Aug 2018

[5] RFC 792, “Internet Control Message Protocol”, Postel, ISIS, Sep 1981; https://tools.ietf.org/html/rfc792, last accessed Aug 2018.

[6] RFC 1035, “Domain Names – Implementation and Specifications”, Mockapetris, ISI, Nov 1987; https://tools.ietf.org/html/rfc1035, last accessed Aug 2018.

[7] Netcat (nc) command utility, http://manpages.ubuntu.com/manpages/xenial/man1/nc.traditional.1.html, last accessed Aug 14, 2018.

[8] Source code and example access on github. https://github.com/rprustagi/EL-Basics-of-Transport-Layer/tree/master Last accessed on Aug 16, 2018.

[9] Wiireshark – The Network Protocol Analyzer, https://www.wireshark.org/#learnWS, Last Accessed Aug 2018.

Pages ( 5 of 5 ): « Previous1 ... 34 5

Leave a Comment:

Your email address will not be published. Required fields are marked *