āĻ¸āĻŦāĻžāĻāĻā§ āĻšā§āĻ¯āĻžāĻ˛ā§, āĻāĻŽāĻžāĻ° āĻ¨āĻžāĻŽ āĻ¸āĻžāĻļāĻž, āĻāĻŽāĻŋ āĻĢāĻžāĻ¨āĻāĻ°ā§āĻĒ-āĻ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¨ā§āĻ¤ā§āĻ¤ā§āĻŦ āĻĻāĻŋāĻāĨ¤ āĻāĻŽāĻ°āĻž, āĻ āĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻā§āĻ° āĻŽāĻ¤ā§, āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻāĻĻāĻŋāĻā§, āĻāĻāĻŋ āĻāĻžāĻāĻāĻŋāĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§, āĻāĻžāĻ°āĻŖ ... āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻ˛āĻžāĻĻāĻžāĻāĻžāĻŦā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¸āĻšāĻ, āĻ¤āĻŦā§ āĻ āĻ¨ā§āĻ¯āĻĻāĻŋāĻā§, āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻāĻā§āĨ¤
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§, āĻāĻŽāĻŋ āĻĻā§āĻāĻŋ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦ āĻ¯āĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻŽā§āĻ˛āĻŋāĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ āĻ¨ā§āĻāĻ°āĻŖ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻ¸āĻāĻ¯ā§āĻ āĻ¸āĻš āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ ā§āĻ° āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§, āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻāĻ¤ āĻŽāĻ¸ā§āĻŖ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻžāĻ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§, āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻ āĻ¨ā§āĻāĻ°āĻŖā§āĻ° āĻāĻžāĻā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§ tc.
tc(abbr āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛ āĻĨā§āĻā§) āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ¸āĻāĻā§āĻ°āĻŽāĻŖ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻ¸ā§āĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ (āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ
ncat -l 127.0.0.1 12345 -k -c 'xargs -n1 -i echo "Response: {}"'
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ§āĻžāĻĒā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛āĻŋāĻā§āĻāĻŋ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĨ¤
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ
#!/bin/python
import socket
import time
HOST = '127.0.0.1'
PORT = 12345
BUFFER_SIZE = 1024
MESSAGE = "Testn"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
t1 = time.time()
print "[time before connection: %.5f]" % t1
s.connect((HOST, PORT))
print "[time after connection, before sending: %.5f]" % time.time()
s.send(MESSAGE)
print "[time after sending, before receiving: %.5f]" % time.time()
data = s.recv(BUFFER_SIZE)
print "[time after receiving, before closing: %.5f]" % time.time()
s.close()
t2 = time.time()
print "[time after closing: %.5f]" % t2
print "[total duration: %.5f]" % (t2 - t1)
print data
āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĻā§āĻāĻŋ lo āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ 12345:
[user@host ~]# python client.py
[time before connection: 1578652979.44837]
[time after connection, before sending: 1578652979.44889]
[time after sending, before receiving: 1578652979.44894]
[time after receiving, before closing: 1578652979.45922]
[time after closing: 1578652979.45928]
[total duration: 0.01091]
Response: Test
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĄāĻžāĻŽā§āĻĒ
[user@host ~]# tcpdump -i lo -nn port 12345
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
10:42:59.448601 IP 127.0.0.1.54054 > 127.0.0.1.12345: Flags [S], seq 3383332866, win 43690, options [mss 65495,sackOK,TS val 606325685 ecr 0,nop,wscale 7], length 0
10:42:59.448612 IP 127.0.0.1.12345 > 127.0.0.1.54054: Flags [S.], seq 2584700178, ack 3383332867, win 43690, options [mss 65495,sackOK,TS val 606325685 ecr 606325685,nop,wscale 7], length 0
10:42:59.448622 IP 127.0.0.1.54054 > 127.0.0.1.12345: Flags [.], ack 1, win 342, options [nop,nop,TS val 606325685 ecr 606325685], length 0
10:42:59.448923 IP 127.0.0.1.54054 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 606325685 ecr 606325685], length 5
10:42:59.448930 IP 127.0.0.1.12345 > 127.0.0.1.54054: Flags [.], ack 6, win 342, options [nop,nop,TS val 606325685 ecr 606325685], length 0
10:42:59.459118 IP 127.0.0.1.12345 > 127.0.0.1.54054: Flags [P.], seq 1:15, ack 6, win 342, options [nop,nop,TS val 606325696 ecr 606325685], length 14
10:42:59.459213 IP 127.0.0.1.54054 > 127.0.0.1.12345: Flags [.], ack 15, win 342, options [nop,nop,TS val 606325696 ecr 606325696], length 0
10:42:59.459268 IP 127.0.0.1.54054 > 127.0.0.1.12345: Flags [F.], seq 6, ack 15, win 342, options [nop,nop,TS val 606325696 ecr 606325696], length 0
10:42:59.460184 IP 127.0.0.1.12345 > 127.0.0.1.54054: Flags [F.], seq 15, ack 7, win 342, options [nop,nop,TS val 606325697 ecr 606325696], length 0
10:42:59.460196 IP 127.0.0.1.54054 > 127.0.0.1.12345: Flags [.], ack 16, win 342, options [nop,nop,TS val 606325697 ecr 606325697], length 0
āĻ¸āĻŦāĻāĻŋāĻā§āĻ āĻŽāĻžāĻ¨āĻ¸āĻŽā§āĻŽāĻ¤: āĻāĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋāĻŽā§āĻā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻļā§āĻ, PSH/ACK āĻāĻŦāĻ ACK āĻĻā§āĻāĻŦāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž - āĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ, āĻāĻŦāĻ FIN/ACK āĻāĻŦāĻ ACK āĻĻā§āĻāĻŦāĻžāĻ° - āĻ¸āĻāĻ¯ā§āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ°ā§āĨ¤
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ
āĻāĻāĻ¨ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ 500 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ:
tc qdisc add dev lo root netem delay 500ms
āĻāĻŽāĻ°āĻž āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻĻā§āĻāĻŋ āĻ¯ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻāĻ¨ 2 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛ā§:
[user@host ~]# ./client.py
[time before connection: 1578662612.71044]
[time after connection, before sending: 1578662613.71059]
[time after sending, before receiving: 1578662613.71065]
[time after receiving, before closing: 1578662614.72011]
[time after closing: 1578662614.72019]
[total duration: 2.00974]
Response: Test
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻāĻŋ? āĻāĻ˛ā§āĻ¨ āĻĻā§āĻāĻž āĻ¯āĻžāĻ:
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĄāĻžāĻŽā§āĻĒ
13:23:33.210520 IP 127.0.0.1.58694 > 127.0.0.1.12345: Flags [S], seq 1720950927, win 43690, options [mss 65495,sackOK,TS val 615958947 ecr 0,nop,wscale 7], length 0
13:23:33.710554 IP 127.0.0.1.12345 > 127.0.0.1.58694: Flags [S.], seq 1801168125, ack 1720950928, win 43690, options [mss 65495,sackOK,TS val 615959447 ecr 615958947,nop,wscale 7], length 0
13:23:34.210590 IP 127.0.0.1.58694 > 127.0.0.1.12345: Flags [.], ack 1, win 342, options [nop,nop,TS val 615959947 ecr 615959447], length 0
13:23:34.210657 IP 127.0.0.1.58694 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 615959947 ecr 615959447], length 5
13:23:34.710680 IP 127.0.0.1.12345 > 127.0.0.1.58694: Flags [.], ack 6, win 342, options [nop,nop,TS val 615960447 ecr 615959947], length 0
13:23:34.719371 IP 127.0.0.1.12345 > 127.0.0.1.58694: Flags [P.], seq 1:15, ack 6, win 342, options [nop,nop,TS val 615960456 ecr 615959947], length 14
13:23:35.220106 IP 127.0.0.1.58694 > 127.0.0.1.12345: Flags [.], ack 15, win 342, options [nop,nop,TS val 615960957 ecr 615960456], length 0
13:23:35.220188 IP 127.0.0.1.58694 > 127.0.0.1.12345: Flags [F.], seq 6, ack 15, win 342, options [nop,nop,TS val 615960957 ecr 615960456], length 0
13:23:35.720994 IP 127.0.0.1.12345 > 127.0.0.1.58694: Flags [F.], seq 15, ack 7, win 342, options [nop,nop,TS val 615961457 ecr 615960957], length 0
13:23:36.221025 IP 127.0.0.1.58694 > 127.0.0.1.12345: Flags [.], ack 16, win 342, options [nop,nop,TS val 615961957 ecr 615961457], length 0
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨ āĻ¯ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ āĻ°ā§āĻ§ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ˛ā§āĻ¯āĻžāĻ āĻŦā§āĻļāĻŋ āĻšāĻ˛ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋ āĻāĻ°āĻ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻāĻ°āĻŖ āĻāĻ°ā§: āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻŋāĻā§ TCP āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻāĻ˛ā§āĻ¨ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĻā§ 1 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ° āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻžāĻ (āĻāĻŽāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻžāĻŦ āĻ¨āĻž, āĻŽā§āĻ āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ 4 āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻāĻā§):
tc qdisc change dev lo root netem delay 1s
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĄāĻžāĻŽā§āĻĒ
13:29:07.709981 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [S], seq 283338334, win 43690, options [mss 65495,sackOK,TS val 616292946 ecr 0,nop,wscale 7], length 0
13:29:08.710018 IP 127.0.0.1.12345 > 127.0.0.1.39306: Flags [S.], seq 3514208179, ack 283338335, win 43690, options [mss 65495,sackOK,TS val 616293946 ecr 616292946,nop,wscale 7], length 0
13:29:08.711094 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [S], seq 283338334, win 43690, options [mss 65495,sackOK,TS val 616293948 ecr 0,nop,wscale 7], length 0
13:29:09.710048 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [.], ack 1, win 342, options [nop,nop,TS val 616294946 ecr 616293946], length 0
13:29:09.710152 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 616294947 ecr 616293946], length 5
13:29:09.711120 IP 127.0.0.1.12345 > 127.0.0.1.39306: Flags [S.], seq 3514208179, ack 283338335, win 43690, options [mss 65495,sackOK,TS val 616294948 ecr 616292946,nop,wscale 7], length 0
13:29:10.710173 IP 127.0.0.1.12345 > 127.0.0.1.39306: Flags [.], ack 6, win 342, options [nop,nop,TS val 616295947 ecr 616294947], length 0
13:29:10.711140 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [.], ack 1, win 342, options [nop,nop,TS val 616295948 ecr 616293946], length 0
13:29:10.714782 IP 127.0.0.1.12345 > 127.0.0.1.39306: Flags [P.], seq 1:15, ack 6, win 342, options [nop,nop,TS val 616295951 ecr 616294947], length 14
13:29:11.714819 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [.], ack 15, win 342, options [nop,nop,TS val 616296951 ecr 616295951], length 0
13:29:11.714893 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [F.], seq 6, ack 15, win 342, options [nop,nop,TS val 616296951 ecr 616295951], length 0
13:29:12.715562 IP 127.0.0.1.12345 > 127.0.0.1.39306: Flags [F.], seq 15, ack 7, win 342, options [nop,nop,TS val 616297952 ecr 616296951], length 0
13:29:13.715596 IP 127.0.0.1.39306 > 127.0.0.1.12345: Flags [.], ack 16, win 342, options [nop,nop,TS val 616298952 ecr 616297952], length 0
āĻāĻāĻŋ āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻāĻāĻŋ SYN āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĻā§āĻŦāĻžāĻ° āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻāĻāĻŋ SYN/ACK āĻĻā§āĻŦāĻžāĻ° āĻĒāĻžāĻ āĻŋāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ āĻŽāĻžāĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻāĻāĻāĻŋ āĻŦāĻŋāĻā§āĻ¯ā§āĻ¤āĻŋ, āĻāĻāĻāĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻĢāĻžāĻāĻļāĻ¨, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ (āĻāĻā§āĻ° āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§) āĻ¸ā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
tc qdisc change dev lo root netem delay 500ms 400ms 50 distribution normal
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž 100 āĻāĻŦāĻ 900 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋ, āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ 50% āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ āĻĨāĻžāĻāĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻšāĻ¯āĻŧāĻ¤ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ āĻ¯ā§āĻ, СаŅĐĩĐŧ СаŅĐĩĐŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨. āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ āĻ°ā§āĻĨ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ, āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻļā§āĻ§ā§ āĻ¯ā§āĻ āĻāĻ°āĻŦ āĻ¯ā§ āĻāĻ°āĻ āĻāĻā§ āĻāĻ°, āĻ¯āĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻˇāĻ¯āĻŧāĻā§āĻˇāĻ¤āĻŋ
āĻāĻāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ˛āĻ¸ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻāĻāĻŋ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻāĻŋāĻā§ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ˛ā§āĻŽā§āĻ˛ā§āĻāĻžāĻŦā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšāĻžāĻ°āĻžāĻ¨ā§, āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻ¤ā§ 2, 3 āĻŦāĻž 4 āĻ°āĻžāĻā§āĻ¯ā§āĻ° āĻāĻāĻāĻŋ āĻŽāĻžāĻ°ā§āĻāĻ āĻā§āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ
āĻĨāĻŦāĻž āĻāĻ˛āĻŋāĻ¯āĻŧāĻ-āĻāĻŋāĻ˛āĻŦāĻžāĻ°ā§āĻ āĻŽāĻĄā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻŽāĻŋ āĻĒā§āĻ°āĻĨāĻŽ (āĻ¸āĻ°āĻ˛ āĻāĻŦāĻ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ) āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻŦ, āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻ
āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
50% āĻāĻ° āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ āĻ¸āĻš 25% āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ:
tc qdisc add dev lo root netem loss 50% 25%
āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, tcpdump āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°āĻāĻžāĻŦā§ āĻĻā§āĻāĻžāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§ āĻ¨āĻž, āĻāĻŽāĻ°āĻž āĻā§āĻŦāĻ˛ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻŦ āĻ¯ā§ āĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻāĻŦāĻ āĻ āĻ¸ā§āĻĨāĻŋāĻ° āĻāĻ˛āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻāĻ°āĻŦā§āĨ¤ client.py (āĻ¤āĻžāĻ¤ā§āĻā§āĻˇāĻŖāĻŋāĻāĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻŦāĻž āĻ¸āĻŽā§āĻāĻŦāĻ¤ 20 āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§), āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻĒā§āĻ¨āĻāĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻ¸āĻāĻā§āĻ¯āĻž:
[user@host ~]# netstat -s | grep retransmited; sleep 10; netstat -s | grep retransmited
17147 segments retransmited
17185 segments retransmited
āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻļāĻŦā§āĻĻ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻā§āĻˇāĻ¤āĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻā§āĻˇāĻ¤āĻŋ āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨: āĻā§āĻ˛āĻŽāĻžāĻ˛ āĻāĻāĻāĻŋ āĻāĻ˛ā§āĻŽā§āĻ˛ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§. āĻāĻ¸ā§āĻ¨ 50% āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ āĻāĻžāĻĄāĻŧāĻžāĻ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻāĻ°āĻŋ:
tc qdisc change dev lo root netem corrupt 50%
āĻāĻŽāĻ°āĻž āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ (āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻŋāĻā§āĻ āĻ¨ā§āĻ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻ¤ā§ 2 āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§āĻā§), āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻāĻāĻŋ āĻĻā§āĻā§āĻ¨:
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĄāĻžāĻŽā§āĻĒ
[user@host ~]# tcpdump -i lo -nn port 12345
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
10:20:54.812434 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [S], seq 2023663770, win 43690, options [mss 65495,sackOK,TS val 1037001049 ecr 0,nop,wscale 7], length 0
10:20:54.812449 IP 127.0.0.1.12345 > 127.0.0.1.43666: Flags [S.], seq 2104268044, ack 2023663771, win 43690, options [mss 65495,sackOK,TS val 1037001049 ecr 1037001049,nop,wscale 7], length 0
10:20:54.812458 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [.], ack 1, win 342, options [nop,nop,TS val 1037001049 ecr 1037001049], length 0
10:20:54.812509 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 1037001049 ecr 1037001049], length 5
10:20:55.013093 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 1037001250 ecr 1037001049], length 5
10:20:55.013122 IP 127.0.0.1.12345 > 127.0.0.1.43666: Flags [.], ack 6, win 342, options [nop,nop,TS val 1037001250 ecr 1037001250], length 0
10:20:55.014681 IP 127.0.0.1.12345 > 127.0.0.1.43666: Flags [P.], seq 1:15, ack 6, win 342, options [nop,nop,TS val 1037001251 ecr 1037001250], length 14
10:20:55.014745 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [.], ack 15, win 340, options [nop,nop,TS val 1037001251 ecr 1037001251], length 0
10:20:55.014823 IP 127.0.0.1.43666 > 127.0.0.5.12345: Flags [F.], seq 2023663776, ack 2104268059, win 342, options [nop,nop,TS val 1037001251 ecr 1037001251], length 0
10:20:55.214088 IP 127.0.0.1.12345 > 127.0.0.1.43666: Flags [P.], seq 1:15, ack 6, win 342, options [nop,unknown-65 0x0a3dcf62eb3d,[bad opt]>
10:20:55.416087 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [F.], seq 6, ack 15, win 342, options [nop,nop,TS val 1037001653 ecr 1037001251], length 0
10:20:55.416804 IP 127.0.0.1.12345 > 127.0.0.1.43666: Flags [F.], seq 15, ack 7, win 342, options [nop,nop,TS val 1037001653 ecr 1037001653], length 0
10:20:55.416818 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [.], ack 16, win 343, options [nop,nop,TS val 1037001653 ecr 1037001653], length 0
10:20:56.147086 IP 127.0.0.1.12345 > 127.0.0.1.43666: Flags [F.], seq 15, ack 7, win 342, options [nop,nop,TS val 1037002384 ecr 1037001653], length 0
10:20:56.147101 IP 127.0.0.1.43666 > 127.0.0.1.12345: Flags [.], ack 16, win 342, options [nop,nop,TS val 1037002384 ecr 1037001653], length 0
āĻāĻāĻŋ āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§ āĻāĻŋāĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻžāĻāĻž āĻŽā§āĻāĻžāĻĄā§āĻāĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ°āĻ¯āĻŧā§āĻā§: āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ [āĻ¨āĻž, āĻ āĻāĻžāĻ¨āĻž-65 0x0a3dcf62eb3d, [āĻāĻžāĻ°āĻžāĻĒ āĻŦāĻŋāĻāĻ˛ā§āĻĒ]>. āĻ¤āĻŦā§ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻš'āĻ˛ āĻļā§āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĻā§ - āĻāĻŋāĻ¸āĻŋāĻĒāĻŋ āĻ¤āĻžāĻ° āĻāĻžāĻāĻāĻŋ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°ā§āĻā§āĨ¤
āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ¨āĻāĻ˛
āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¨ā§āĻā§āĻŽ? āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĒā§āĻ¯āĻžāĻā§āĻ āĻā§āĻˇāĻ¤āĻŋāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°ā§āĻ¨-āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋāĨ¤ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ 2āĻāĻŋ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻ āĻ¨ā§āĻ¯āĻŧ: āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯āĻ¤āĻž āĻāĻŦāĻ āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĨ¤
tc qdisc change dev lo root netem duplicate 50% 25%
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻā§āĻ°āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻŦā§āĻ¯āĻžāĻ āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋāĻ¤ā§, āĻāĻŋāĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻŦāĻžāĻāĻŋāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¸āĻžāĻĨā§āĨ¤ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
tc qdisc change dev lo root netem delay 10ms reorder 25% 50%
25% (āĻāĻŦāĻ 50% āĻāĻ° āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ) āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻŦā§, āĻŦāĻžāĻāĻŋāĻā§āĻ˛āĻŋ 10 āĻŽāĻŋāĻ˛āĻŋāĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻŦā§āĨ¤
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻ˛ āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ Nth āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž (āĻāĻŦāĻ āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ) āĻ¸āĻš āĻāĻŦāĻ āĻŦāĻžāĻāĻŋāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻžāĻ¤ā§āĻā§āĻˇāĻŖāĻŋāĻāĻāĻžāĻŦā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧāĨ¤ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĨā§āĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
tc qdisc change dev lo root netem delay 10ms reorder 25% 50% gap 5
āĻĒā§āĻ°āĻ¤āĻŋ āĻĒāĻā§āĻāĻŽ āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻĻā§āĻ°āĻŋ āĻ¨āĻž āĻāĻ°ā§ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° 25% āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻŦā§āĻ¯āĻžāĻ¨ā§āĻĄāĻāĻāĻĨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻ¤āĻžāĻ°āĻž āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§
tc qdisc change dev lo root netem rate 56kbit
āĻāĻ āĻĻāĻ˛āĻāĻŋ āĻā§āĻ°ā§ āĻŦā§āĻĄāĻŧāĻžāĻŦā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻšā§āĻ¸ā§āĻ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛-āĻāĻĒ āĻŽāĻĄā§āĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻĢāĻŋāĻāĻ¯āĻŧā§āĻ° āĻŽāĻ¤ā§ āĻŦā§āĻĻāĻ¨āĻžāĻĻāĻžāĻ¯āĻŧāĻāĨ¤ āĻŦāĻŋāĻāĻ°ā§āĻ āĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āĻāĻĒāĻ¨āĻŋ āĻ˛āĻŋāĻā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻŽāĻĄā§āĻ˛āĻāĻŋāĻ āĻ
āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨: āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻžāĻ°āĻšā§āĻĄ, āĻāĻ°ā§āĻ° āĻāĻāĻžāĻ° āĻāĻŦāĻ āĻāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻžāĻ°āĻšā§āĻĄ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻŋ āĻ
āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
tc qdisc change dev lo root netem rate 56kbit 0 48 5
āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻž āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻāĻžāĻāĻŽāĻāĻāĻāĨ¤ āĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻžāĻ°āĻŖ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§, āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻ āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¸āĻŽāĻ¯āĻŧāĻŽāĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻāĻžāĻā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻ¤ā§ āĻšāĻŦā§ āĻŦāĻž āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻā§āĻ¨āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻž āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻšāĻ¤ā§ āĻšāĻŦā§.
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§: āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻŽāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻ¸āĻžāĻĄāĻŧāĻž āĻĻā§āĻ¯āĻŧ āĻ¨āĻž, āĻŦāĻž āĻĄāĻŋāĻŦāĻžāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§āĻ¨, āĻ¸āĻ āĻŋāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻŦā§āĻ°ā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ°āĻžāĻā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§āĻ¨ (āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦāĻŋāĻā§āĻ¤ āĻāĻĒāĻžāĻ¯āĻŧ)āĨ¤ āĻ¤āĻŦā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻ āĻāĻāĻāĻŋ āĻšāĻ˛ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ°ā§āĻ āĻŦāĻž āĻšā§āĻ¸ā§āĻāĨ¤ āĻāĻāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§
āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ°ā§āĻ 12345 āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻŦāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻĒā§āĻ°ā§āĻā§ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻāĻāĻā§āĻ¯āĻŧāĻŋāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ āĻĨāĻŦāĻž āĻ°āĻŋāĻ¸āĻŋāĻāĻžāĻ°ā§ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻĒā§āĻ¯āĻžāĻā§āĻāĨ¤ āĻāĻŽāĻžāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ¤ā§, āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§ (āĻāĻŽāĻ°āĻž āĻā§āĻāĻ¨ INPUT āĻāĻŦāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ --āĻĄāĻŋāĻĒā§āĻ°ā§āĻ) āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻāĻŋāĻ¸āĻŋāĻĒāĻŋ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻāĻ°āĻāĻ¸āĻāĻŋ āĻ¸āĻš āĻĄā§āĻ°āĻĒ, āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻŦāĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻŦāĻž āĻāĻāĻ¸āĻŋāĻāĻŽāĻĒāĻŋ āĻšā§āĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž (āĻāĻ¸āĻ˛ā§, āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻāĻ°āĻŖ āĻšāĻ˛ icmp-āĻĒā§āĻ°ā§āĻ-āĻ āĻāĻŽā§āĻ¯, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻ¤ā§āĻ¤āĻ° āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻ¸ā§āĻ¯ā§āĻ āĻāĻā§ āĻāĻāĻ¸āĻŋāĻāĻŽāĻĒāĻŋ-āĻ¨ā§āĻ-āĻ āĻ¨ā§āĻāĻžāĻŽāĻ¯ā§āĻā§āĻ¯, icmp-āĻĒā§āĻ°ā§āĻā§-āĻ āĻĒā§āĻāĻžāĻ¯āĻŧ, icmp-āĻ¨ā§āĻ-āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§ и icmp-āĻšā§āĻ¸ā§āĻ-āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§).
āĻĄā§āĻ°āĻĒ
āĻ¯āĻĻāĻŋ DROP āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻŦāĻ˛ "āĻ āĻĻā§āĻļā§āĻ¯" āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§āĨ¤
iptables -A INPUT -p tcp --dport 12345 -j DROP
āĻāĻŽāĻ°āĻž āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻĻā§āĻāĻŋ āĻ¯ā§ āĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻŽāĻžāĻ āĻŦāĻžāĻāĻ§ā§āĨ¤ āĻāĻ˛ā§āĻ¨ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĻā§āĻāĻŋāĻ
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĄāĻžāĻŽā§āĻĒ
[user@host ~]# tcpdump -i lo -nn port 12345
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
08:28:20.213506 IP 127.0.0.1.32856 > 127.0.0.1.12345: Flags [S], seq 3019694933, win 43690, options [mss 65495,sackOK,TS val 1203046450 ecr 0,nop,wscale 7], length 0
08:28:21.215086 IP 127.0.0.1.32856 > 127.0.0.1.12345: Flags [S], seq 3019694933, win 43690, options [mss 65495,sackOK,TS val 1203047452 ecr 0,nop,wscale 7], length 0
08:28:23.219092 IP 127.0.0.1.32856 > 127.0.0.1.12345: Flags [S], seq 3019694933, win 43690, options [mss 65495,sackOK,TS val 1203049456 ecr 0,nop,wscale 7], length 0
08:28:27.227087 IP 127.0.0.1.32856 > 127.0.0.1.12345: Flags [S], seq 3019694933, win 43690, options [mss 65495,sackOK,TS val 1203053464 ecr 0,nop,wscale 7], length 0
08:28:35.235102 IP 127.0.0.1.32856 > 127.0.0.1.12345: Flags [S], seq 3019694933, win 43690, options [mss 65495,sackOK,TS val 1203061472 ecr 0,nop,wscale 7], length 0
āĻāĻāĻž āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¯ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĻā§āĻ°ā§āĻ¤āĻāĻ¤āĻŋāĻ¤ā§ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻžāĻ° āĻ¸āĻžāĻĨā§ SYN āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§ āĻāĻāĻāĻŋ āĻā§āĻ āĻŦāĻžāĻ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ: āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¸ā§āĻāĻāĻžāĻāĻŽāĻāĻāĻ()āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§ āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°āĻ¤ā§āĨ¤
āĻāĻŽāĻ°āĻž āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻŋ:
iptables -D INPUT -p tcp --dport 12345 -j DROP
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŦāĻžāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
iptables -F
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĄāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ°ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
iptables -I DOCKER-USER -p tcp -d CONTAINER_IP -j DROP
āĻŦāĻžāĻ¤āĻŋāĻ˛
āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ REJECT āĻ¸āĻš:
iptables -A INPUT -p tcp --dport 12345 -j REJECT
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻš āĻāĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻĒāĻ°ā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§ [Errno 111] āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§. āĻāĻ¸ā§āĻ¨ ICMP āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĻā§āĻāĻŋ:
[user@host ~]# tcpdump -i lo -nn icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
08:45:32.871414 IP 127.0.0.1 > 127.0.0.1: ICMP 127.0.0.1 tcp port 12345 unreachable, length 68
08:45:33.873097 IP 127.0.0.1 > 127.0.0.1: ICMP 127.0.0.1 tcp port 12345 unreachable, length 68
āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĻā§āĻāĻŦāĻžāĻ° āĻ°āĻŋāĻ¸āĻŋāĻ āĻāĻ°ā§āĻā§ āĻĒā§āĻ°ā§āĻ āĻ āĻāĻŽā§āĻ¯ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻā§āĻā§ āĻļā§āĻˇ.
tcp-āĻ°āĻŋāĻ¸ā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§āĻ¨
āĻāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ --āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨-āĻ¸āĻš tcp-āĻ°āĻŋāĻ¸ā§āĻ:
iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with tcp-reset
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻš āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§, āĻāĻžāĻ°āĻŖ āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻāĻāĻāĻŋ RST āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ¯āĻŧā§āĻā§:
[user@host ~]# tcpdump -i lo -nn port 12345
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
09:02:52.766175 IP 127.0.0.1.60658 > 127.0.0.1.12345: Flags [S], seq 1889460883, win 43690, options [mss 65495,sackOK,TS val 1205119003 ecr 0,nop,wscale 7], length 0
09:02:52.766184 IP 127.0.0.1.12345 > 127.0.0.1.60658: Flags [R.], seq 0, ack 1889460884, win 0, length 0
ICMP-āĻšā§āĻ¸ā§āĻ-āĻ āĻ°āĻŋāĻā§āĻŦāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§āĻ¨
REJECT āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°ā§āĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
iptables -A INPUT -p tcp --dport 12345 -j REJECT --reject-with icmp-host-unreachable
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻš āĻāĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻĒāĻ°ā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§ [Errno 113] āĻšā§āĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻ°ā§āĻ āĻ¨ā§āĻ, āĻāĻŽāĻ°āĻž ICMP āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĻā§āĻāĻ¤ā§ ICMP āĻšā§āĻ¸ā§āĻ 127.0.0.1 āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¯āĻžāĻā§āĻā§ āĻ¨āĻž.
āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĢā§āĻāĻžāĻ¸ āĻāĻ°āĻŦ :)
āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻž
āĻāĻ°ā§āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻšāĻ˛ āĻ¯āĻāĻ¨ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤ āĻā§āĻāĻžāĻŦā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻŋāĻ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻļā§āĻ°ā§ āĻ¨āĻž āĻšāĻ¯āĻŧ? āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¯ā§āĻā§āĻ° āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻžāĻ¨, āĻāĻĒāĻ¨āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° SYN āĻāĻŦāĻ ACK āĻĒāĻ¤āĻžāĻāĻžāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĄā§āĻāĻž āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻļā§āĻˇ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ¯āĻžāĻā§āĻā§ PSH āĻĒāĻ¤āĻžāĻāĻž āĻĨāĻžāĻāĻŦā§āĨ¤ āĻŦāĻžāĻĢāĻžāĻ°āĻŋāĻ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻšāĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨: āĻāĻāĻŋ PSH ââāĻĒāĻ¤āĻžāĻāĻž āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻ¤ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§āĨ¤ āĻāĻāĻāĻžāĻŦā§, āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§ āĻ¨āĻžāĨ¤
āĻĄā§āĻ°āĻĒ
DROP-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻāĻ°āĻāĻŽ āĻšāĻŦā§:
iptables -A INPUT -p tcp --tcp-flags PSH PSH --dport 12345 -j DROP
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĻā§āĻā§āĻ¨:
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĄāĻžāĻŽā§āĻĒ
[user@host ~]# tcpdump -i lo -nn port 12345
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
10:02:47.549498 IP 127.0.0.1.49594 > 127.0.0.1.12345: Flags [S], seq 2166014137, win 43690, options [mss 65495,sackOK,TS val 1208713786 ecr 0,nop,wscale 7], length 0
10:02:47.549510 IP 127.0.0.1.12345 > 127.0.0.1.49594: Flags [S.], seq 2341799088, ack 2166014138, win 43690, options [mss 65495,sackOK,TS val 1208713786 ecr 1208713786,nop,wscale 7], length 0
10:02:47.549520 IP 127.0.0.1.49594 > 127.0.0.1.12345: Flags [.], ack 1, win 342, options [nop,nop,TS val 1208713786 ecr 1208713786], length 0
10:02:47.549568 IP 127.0.0.1.49594 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 1208713786 ecr 1208713786], length 5
10:02:47.750084 IP 127.0.0.1.49594 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 1208713987 ecr 1208713786], length 5
10:02:47.951088 IP 127.0.0.1.49594 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 1208714188 ecr 1208713786], length 5
10:02:48.354089 IP 127.0.0.1.49594 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 1208714591 ecr 1208713786], length 5
āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻŋ āĻ¯ā§ āĻ¸āĻāĻ¯ā§āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤
āĻŦāĻžāĻ¤āĻŋāĻ˛
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻ°āĻŖ āĻāĻāĻ āĻšāĻŦā§: āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§ ICMP 127.0.0.1 tcp āĻĒā§āĻ°ā§āĻ 12345 āĻĒā§āĻāĻāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻŽāĻž āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻ°ā§āĻ¤āĻāĻ¤āĻŋāĻ¤ā§ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨āĨ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
iptables -A INPUT -p tcp --tcp-flags PSH PSH --dport 12345 -j REJECT
tcp-āĻ°āĻŋāĻ¸ā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§āĻ¨
āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
iptables -A INPUT -p tcp --tcp-flags PSH PSH --dport 12345 -j REJECT --reject-with tcp-reset
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ¨āĻŋ --āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨-āĻ¸āĻš tcp-āĻ°āĻŋāĻ¸ā§āĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻ°āĻāĻ¸āĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻžāĻŦā§, āĻ¤āĻžāĻ āĻāĻāĻ°āĻŖāĻāĻŋ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻāĻ°āĻāĻ¸āĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻ āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¸āĻā§āĻāĻāĻŋ āĻ āĻĒāĻ°āĻĻāĻŋāĻā§ āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĻāĻžāĻŦā§ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻā§āĻā§, āĻ¯āĻžāĻ° āĻ āĻ°ā§āĻĨ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻĒāĻŋāĻ¯āĻŧāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ. āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻŋāĨ¤ āĻāĻŦāĻ āĻāĻ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĻā§āĻāĻ¤ā§ āĻā§āĻŽāĻ¨ āĻšāĻŦā§:
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĄāĻžāĻŽā§āĻĒ
[user@host ~]# tcpdump -i lo -nn port 12345
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
10:22:14.186269 IP 127.0.0.1.52536 > 127.0.0.1.12345: Flags [S], seq 2615137531, win 43690, options [mss 65495,sackOK,TS val 1209880423 ecr 0,nop,wscale 7], length 0
10:22:14.186284 IP 127.0.0.1.12345 > 127.0.0.1.52536: Flags [S.], seq 3999904809, ack 2615137532, win 43690, options [mss 65495,sackOK,TS val 1209880423 ecr 1209880423,nop,wscale 7], length 0
10:22:14.186293 IP 127.0.0.1.52536 > 127.0.0.1.12345: Flags [.], ack 1, win 342, options [nop,nop,TS val 1209880423 ecr 1209880423], length 0
10:22:14.186338 IP 127.0.0.1.52536 > 127.0.0.1.12345: Flags [P.], seq 1:6, ack 1, win 342, options [nop,nop,TS val 1209880423 ecr 1209880423], length 5
10:22:14.186344 IP 127.0.0.1.12345 > 127.0.0.1.52536: Flags [R], seq 3999904810, win 0, length 0
ICMP-āĻšā§āĻ¸ā§āĻ-āĻ āĻ°āĻŋāĻā§āĻŦāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§āĻ¨
āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻā§āĻŽāĻ¨ āĻšāĻŦā§ āĻ¤āĻž āĻ¸āĻŦāĻžāĻ° āĻāĻžāĻā§ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ¸ā§āĻĒāĻˇā§āĻ :) āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻāĻ°āĻŖ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻžāĻ° āĻĨā§āĻā§ āĻāĻŋāĻā§āĻāĻž āĻāĻ˛āĻžāĻĻāĻž āĻšāĻŦā§: āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻž āĻŦāĻžāĻĄāĻŧāĻžāĻŦā§ āĻ¨āĻžāĨ¤
[user@host ~]# tcpdump -i lo -nn icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
10:29:56.149202 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable, length 65
10:29:56.349107 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable, length 65
10:29:56.549117 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable, length 65
10:29:56.750125 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable, length 65
10:29:56.951130 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable, length 65
10:29:57.152107 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable, length 65
10:29:57.353115 IP 127.0.0.1 > 127.0.0.1: ICMP host 127.0.0.1 unreachable, length 65
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻāĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻŦāĻž āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻĒāĻšāĻžāĻ¸ āĻ˛ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ; āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻĨā§āĻˇā§āĻāĨ¤
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻā§āĻ˛āĻŋāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻāĻŋāĻā§ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻŽāĻŋ āĻ¯āĻž āĻ˛āĻŋāĻā§āĻāĻŋ āĻ¤āĻž āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¯āĻĨā§āĻˇā§āĻ āĻĨāĻžāĻā§ (āĻāĻ¸āĻ˛ā§, āĻāĻŽāĻ¨āĻāĻŋ āĻāĻŽ)āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ¤ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻŦāĻž āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻ˛āĻŋāĻā§āĻ¨ āĻ āĻŋāĻ āĻāĻŋāĻāĻžāĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ āĻ¤āĻž āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻāĻŋ āĻāĻ°āĻ āĻāĻžāĻ˛ āĻšāĻ¯āĻŧā§ āĻāĻ āĻŦā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§āĻ¨āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com