MyTF1 : Analyse du match France / Roumanie

Le début du match c’est fait à 21h00 et la fin à 22h55. Voici donc l’historique du trafic analysé avec tcpdump. Le fichier contient 1.801.190 de lignes, je vais donc utiliser les outils awk, sed, … Voici la première commande que je vous propose :

grep -v "length 0" tcp.txt | grep "length" | sed 's/IP/length/g' | awk -F'length' '{print $1 " " $3}' | grep -v "ARP" | sed 's/\./ /g' | sed 's/:/ /g' | awk '{print $1 ":" $2 " " $4}' | awk '{ tab[$1] += 1; somme[$1] += $2} END {for (i in tab) {print i "\t" tab[i] "\t" somme[i]}}' | sort –n > stat.txt

Et voici la deuxième commande, c’est le traffic akamaitechnologies … c’est pour montrer que je n’avais pas d’autres applications qui aurait pu consommer de la bande passante. Sachant que sur la fin je n’ai plus le nom akamaitechnologies mais ce sont des IP de chez eux 😉 :

$ grep -v "length 0" tcp.txt | grep "akamaitechnologies" | grep "length" | sed 's/IP/length/g' | awk -F'length' '{print $1 " " $3}' | grep -v "ARP" | sed 's/\./ /g' | sed 's/:/ /g' | awk '{print $1 ":" $2 " " $4}' | awk '{ tab[$1] += 1; somme[$1] += $2} END {for (i in tab) {print i "\t" tab[i] "\t" somme[i]}}' | sort -n > stat2.txt

Les graphiques :

Sur stat :

  • Nombre de paquet par minutes :

image001

  • Somme des paquets par minutes :

image004Sur 90 min de match environ (en réalité 96 min),  on a eu une mauvaise qualité de 21:42 à 21:50 (8 min) et de 22:01 à 22:28 (27 min) . En résumé pour faire simple 1/3 du match été en mauvaise qualité …  Mais le principal pour MYTF1 c’est de tenir jusqu’au publicité pendant la mi-temps. Ensuite ils savent très bien que les personnes vont couper après la fin du match. Le gros problème c’est que tout passe en TCP sûrement pour des raisons de sécurité et d’ouverture de port, si cela passait en UDP comme c’est le cas pour les autres chaines de Free on aurait bien moins de trafic (pas de ack sur les trames …) . C’est un peu plus complexe que les ACK disons qu’en TCP quand on est en retard on doit rattraper le retard car il y a un ordre des les paquets. En UDP il n’y a pas d’ordre sur les paquets, donc inutile de rattraper le retard. Mais pour faire de l’UDP il faut être d’accord avec le provider … ce qui n’est pas le cas pour TF1 et Free. C’est bien dommage   ! Les priorités pour TF1 c’est :
1- Mesure de l’audience : http://www.meetrics.com/fr/ & Mediametrie-eStat . Pour montrer aux partenaires que c’est bien diffusé.
2- Diffusion de publicité : http://www.stickyads.tv/fr
3- Qualité : akamaitechnologies

Sur stats2 :

image005

Si je regarde un ancien POST sur le rugby : https://www.cyber-neurones.org/2015/10/mytf1-fr-analyse-de-la-qualite-video-sur-le-match-de-rugby-francecanada/ . On est passé de 50% de mauvaise qualité à 33% … on peut dire que cela progresse 🙂 . Misère.

Voici la liste des ouvertures de sockets :

$ grep "\[S" tcp.txt | awk '{print $5}' | sed 's/\./ /g' | awk '{print $1 "." $2 "." $3 }' | sort -n | uniq -c
      9 a104-69-194-102.deploy.static
      2 a104-85-72-78.deploy.static
      3 a104-85-88-218.deploy.static
      2 a104-85-88-244.deploy.static
      1 a104-96-23-86.deploy.static
      6 a104-96-29-144.deploy.static
      1 a2-16-156-17.deploy.akamaitechnologies
      6 a2-16-156-66.deploy.akamaitechnologies
      1 a23-37-43-27.deploy.static
      1 a23-55-155-27.deploy.static
      1 a88-221-112-121.deploy.akamaitechnologies
      1 a95-101-182-192.deploy.akamaitechnologies
      1 a95-101-182-193.deploy.akamaitechnologies
      1 a95-101-182-194.deploy.akamaitechnologies
      1 a95-101-182-195.deploy.akamaitechnologies
      1 a95-101-182-201.deploy.akamaitechnologies
      1 ads1.stickyadstv.com
      1 ads10.stickyadstv.com
      2 ads3.stickyadstv.com -> http://www.stickyads.tv/fr : de la pub.
      1 ads4.stickyadstv.com -> http://www.stickyads.tv/fr : de la pub.
      2 cluster-6.weborama.fr 
      1 ec2-107-20-228-97.compute-1.amazonaws 
      1 ec2-107-21-120-176.compute-1.amazonaws 
      5 ec2-176-34-103-126.eu-west-1.compute 
      6 ec2-176-34-120-40.eu-west-1.compute 
      46 ec2-176-34-176-38.eu-west-1.compute 
      1 ec2-176-34-228-138.eu-west-1.compute 
      5 ec2-46-137-74-228.eu-west-1.compute 
     1 ec2-52-200-229-238.compute-1.amazonaws 
     2 ec2-52-201-152-194.compute-1.amazonaws 
     2 ec2-52-202-137-6.compute-1.amazonaws 
     1 ec2-52-208-77-14.eu-west-1.compute 
     2 ec2-54-164-234-195.compute-1.amazonaws 
     2 ec2-54-174-190-76.compute-1.amazonaws 
     1 edge-atlas-shv-01-cdg2.facebook.com 
     2 edge-star-mini-shv-01-cdg2.facebook.com 
     2 event.ri7.adxpose  
     11 h317.meetrics.de -> http://www.meetrics.com/fr/ 
     1 h477.meetrics.de -> http://www.meetrics.com/fr/ 
     25 instagram-p3-shv-01-cdg2.fbcdn.net 
     4 par03s14-in-f2.1e100.net 
     15 par10s21-in-f206.1e100.net 
     5 par10s21-in-f6.1e100.net 
     1 server-54-192-46-66.fra6.r 
     3 server-54-239-168-160.fra50.r 
     2 server-54-239-168-190.fra50.r 
     1 server-54-239-168-240.fra50.r 
     1 server-54-239-168-244.fra50.r 
     2 server-54-239-168-248.fra50.r 
     1 server-54-239-168-84.fra50.r 
     1 server-54-239-168-90.fra50.r 
     3 sfr.eulerian.net 
     1 wl-in-f136.1e100.net 
     80 2.20.250 
     7 2.22.112 
     7 2.22.113 
     1 17.164.1 
     2 17.167.139 
     1 17.171.10 
     1 17.171.8 
     1 17.172.100 
     43 17.248.144 
     7 17.252.27 
     6 37.252.166 
     4 37.252.174 
     1 64.15.118 
     1 70.33.182 
     24 82.199.80 
     122 91.213.146 -> Mediametrie-eStat. 
     13 104.244.42 
     44 104.244.43 
     4 138.108.96 
     1 173.194.0 
     1854 185.22.116 -> FR.ETF1 LIR Range : TF1. 1 205.251.72

MYTF1.FR : analyse de la qualité vidéo sur le match de rugby France/Irlande

La qualité du match (#FRAvIRL) était très bonne jusqu’à la 37 min du match, et aussi pendant les publicités  …

Voici la liste des serveurs : (41 serveurs : liste n°1)

 7282 a104-85-88-218.deploy.static.akamaitechnologies.com.http
 2597 a104-85-90-202.deploy.static.akamaitechnologies.com.http
 53817 a2-16-117-104.deploy.akamaitechnologies.com.http
  57547 a2-16-117-106.deploy.akamaitechnologies.com.http
 1 a2-16-117-113.deploy.akamaitechnologies.com.http
 668 a2-16-117-114.deploy.akamaitechnologies.com.http
 1 a2-16-117-115.deploy.akamaitechnologies.com.http
 25 a2-16-117-120.deploy.akamaitechnologies.com.http
 1 a2-16-117-121.deploy.akamaitechnologies.com.http
 3 a2-16-117-122.deploy.akamaitechnologies.com.http
 40780 a2-16-117-123.deploy.akamaitechnologies.com.http
 1470 a2-16-117-128.deploy.akamaitechnologies.com.http
 2 a2-16-117-130.deploy.akamaitechnologies.com.http
 27 a2-16-117-136.deploy.akamaitechnologies.com.http
 3 a2-16-117-137.deploy.akamaitechnologies.com.http
 26 a2-16-117-138.deploy.akamaitechnologies.com.http
 32 a2-16-117-144.deploy.akamaitechnologies.com.http
 30907 a2-16-117-145.deploy.akamaitechnologies.com.http
 2 a2-16-117-146.deploy.akamaitechnologies.com.http
 2 a2-16-117-147.deploy.akamaitechnologies.com.http
 2 a2-16-117-153.deploy.akamaitechnologies.com.http
 377 a2-16-117-154.deploy.akamaitechnologies.com.http
 2 a2-16-117-155.deploy.akamaitechnologies.com.http
 2 a2-16-117-160.deploy.akamaitechnologies.com.http
 1 a2-16-117-161.deploy.akamaitechnologies.com.http
 1 a2-16-117-163.deploy.akamaitechnologies.com.http
 2 a2-16-117-168.deploy.akamaitechnologies.com.http
 1 a2-16-117-169.deploy.akamaitechnologies.com.http
 1 a2-16-117-170.deploy.akamaitechnologies.com.http
 1 a2-16-117-171.deploy.akamaitechnologies.com.http
 2 a2-16-117-176.deploy.akamaitechnologies.com.http
 1 a2-16-117-177.deploy.akamaitechnologies.com.http
 1 a2-16-117-178.deploy.akamaitechnologies.com.http
 1 a2-16-117-179.deploy.akamaitechnologies.com.http
 17 a2-16-117-184.deploy.akamaitechnologies.com.http
 1 a2-16-117-81.deploy.akamaitechnologies.com.http
 68935 a2-16-117-83.deploy.akamaitechnologies.com.http
 1 a2-16-117-88.deploy.akamaitechnologies.com.http
 643076 a2-16-117-89.deploy.akamaitechnologies.com.http
 6797 a2-16-117-96.deploy.akamaitechnologies.com.http
 1 a88-221-83-51.deploy.akamaitechnologies.com.http
 56757 a88-221-83-64.deploy.akamaitechnologies.com.http
 1 a88-221-83-66.deploy.akamaitechnologies.com.http
 96681 a88-221-83-81.deploy.akamaitechnologies.com.http
 2963 a95-101-183-136.deploy.akamaitechnologies.com.http
 2022 a95-101-183-169.deploy.akamaitechnologies.com.http

Et voici la liste des serveurs de Twitter : (7 serveurs : liste n°2)

 320 104.244.43.108.http
 80 104.244.43.12.http
 120 104.244.43.140.http
 55425 104.244.43.172.http
 80 104.244.43.204.http
 40 104.244.43.44.http
 20 104.244.43.76.http

Ensuite il y avait d’autres serveurs dont je n’ai pas étudié le flux : (5 serveurs : liste n°3)

  14   server-54-240-172-12.cdg50.r.cloudfront.net.http
8732   server-54-240-172-175.cdg50.r.cloudfront.net.http
19     server-54-240-172-206.cdg50.r.cloudfront.net.http
2      server-54-240-172-234.cdg50.r.cloudfront.net.http
197    server-54-240-172-7.cdg50.r.cloudfront.net.http

Voici une requête HTTP :

        GET /projects/43/43c4b4c2-7de7-4ebb-a83b-ed8f18d4b764/settings/ce549b060f62da60120335e74783157fc3224629.jsonp?__lvis_app_settings_callback=__lvis_app_settings_callback&_1444585182211=

A noter le Referer :

Referer:http://www.tf1.fr/play-along/tf1/2.0.2/app.html

Et pour finir les serveurs les plus nombreux (2 serveurs de chez TF1 : liste n°4):

1813 185.22.116.27.http
1067 185.22.116.28.http

Une dernière liste de serveur : (4 serveurs : liste n°5)

6   ec2-176-34-107-234.eu-west-1.compute.amazonaws.com.http
4   ec2-46-137-105-116.eu-west-1.compute.amazonaws.com.http
14  ec2-46-137-111-217.eu-west-1.compute.amazonaws.com.http
101 ec2-54-217-249-210.eu-west-1.compute.amazonaws.com.http

Quand je regarde la requête sur les serveurs amazonaws.com :

HTTP/1.1
Host: prdwatlog001-1945462130.eu-west-1.elb.amazonaws.com
Origin: http://www.wat.tv
Access-Control-Request-Method: POST
Content-Length: 0
Access-Control-Request-Headers: origin, content-type
Connection: keep-alive
Accept: */*

Et ne pas oublier le serveur de médiametrie, c’est lui le plus important pour TF1 (liste n°6).

125 91.213.146.35.http

Voici un example de requête :

GET /m/web/201001202818?n=492007313&scw=1920&sch=1080&scp=24&r=http%3A%2F%2Fwww.tf1.fr%2Ftf1%2Fdirect&dom=www.tf1.fr&t=cmspoll&v=3.15&cmsVI=68641125-2121&cmsRK=129&cmsST=5&cmsPO=1444581180306&cmsOP=1444581180306&cmsPS=5&cmsPV=MAC%2019%2C0%2C0%2C185&cmsMV=3.15&cmsPL=flash&cmsEV=polling&cmsME=&cmsDU=631716&cmsSN=Rugby%20-%20Coupe%20du%20monde%202015&cmsS1=live&cmsS2=rugby---coupe-du-monde-2015&cmsS3=tf1&cmsS4=11-10-2015_17%3A35%3A00&cmsS5=308384&cdmTF12014=&cmsGR=leanback_meilleures-actions&cmsSD=100

Il reste à savoir à quoi correspondent les variables:

  • n : ?
  • scw : ?
  • sch : ?
  • scp : ?
  • r : referer
  • dom : domiciliation du serveur
  • t : ?
  • v : version
  • cmsVI : ?
  • cmsRK : ?
  • cmsST :
  • cmsPO :
  • cmsOP :
  • cmsPS : ?
  • cmsPV : ?
  • cmsMV : ?
  • cmsPL : ?
  • cmsEV : ?
  • cmsME : vide
  • cmsDU :
  • cmsSN : Nom
  • cmsS1 :
  • cmsS2 :
  • cmsS3 :
  • cmsS4 :
  • cmsS5 :
  • cmdTF12014 : vide
  • cmsGR :
  • cmsSD :

Le polling se fait toutes les minutes sur médiamétrie.

En résumé quand on regarde le direct chez TF1, on est avec AKAMAI, TF1, TWITTER, MEDIAMETRIE (liste 6), AMAZON, CLOUDFRONT…. c’est simple !

Maintenant il reste à voir si on peut regarder MYTF1 en bloquant les IP de TWITTER, MEDIAMETRIE, AMAZON, CLOUDFRONT. Et quel en est l’impact?