\documentclass[twoside,a4paper,10pt]{report}
\usepackage[french]{babel} %% Use your own babel language
\usepackage[top=3cm,bottom=3cm,left=2.5cm,right=2.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{pslatex}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{supertabular}
\usepackage{pdflscape} %% Used for very big table
\usepackage{moreverb}
\usepackage{color}
\usepackage{listings}
\usepackage{lastpage}
\usepackage{fancyhdr}
\usepackage{ulem}
\usepackage{textcomp}
\usepackage{wasysym}
\usepackage{wrapfig} %%Usefull for image 
%%\usepackage{fguill} %%Use this package for guillemot[left|right] useless with babel set to french
\usepackage{eso-pic} %% Background
\pagestyle{fancy}%
\renewcommand{\headrulewidth}{0.1pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\chaptermark}[1]{%
	\markboth{\chaptername\ \thechapter.\ #1}{}}

\renewcommand{\sectionmark}[1]{%
	\markright{#1}{}}

\fancypagestyle{plain}{%
\fancyhf{}
\fancyfoot[R]{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\fancyhf{}
\fancyhead[L]{\rightmark}
\fancyhead[R]{\leftmark}
\fancyfoot[R]{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0.1pt}
\renewcommand{\footrulewidth}{0pt}

\definecolor{codegray}{gray}{.95}
\lstset{language=C,
	numbers=left,
	tabsize=2,
	basicstyle=\scriptsize,
	stringstyle=\textrm,
	showstringspaces=false,
	frame=none,
	xleftmargin=3pt,
	backgroundcolor=\color{codegray}}

\newcommand{\settexitref}[2]{(\ref{#1}p\pageref{#1})}
\newcommand{\dokutitlelevelone}[1]{\chapter{#1}}
\newcommand{\dokutitleleveltwo}[1]{\section{#1}}
\newcommand{\dokutitleleveltree}[1]{\subsection{#1}}
\newcommand{\dokutitlelevelfour}[1]{\subsubsection{#1}}
\newcommand{\dokutitlelevelfive}[1]{\paragraph{#1}}
\newcommand{\dokufootnote}[1]{\footnote{#1}}
\newcommand{\dokufootmark}[1]{\footnotemark[#1]}
\newcommand{\dokubold}[1]{\textbf{#1}}
\newcommand{\dokuitalic}[1]{\textsl{#1}}
\newcommand{\dokumonospace}[1]{\texttt{#1}}
\newcommand{\dokuunderline}[1]{\underline{#1}}
\newcommand{\dokuoverline}[1]{\sout{#1}}
\newcommand{\dokusupscript}[1]{\textsuperscript{#1}}
\newcommand{\dokusubscript}[1]{$_{#1}$}
\newcommand{\dokuhline}{\line(1,0){400}}
\newcommand{\dokulabel}[1]{\label{#1}}
\newcommand{\dokuitem}{\item}
\newcommand{\dokuquoting}{\textbar}
\newcommand{\dokutabularwidth}{\textwidth}
\newcommand{\dokusupertabularheadbreak}{\small\sl continued from previous page}
\newcommand{\dokusupertabulartailbreak}{\small\sl continued on next page}
\newcommand{\dokuheadingstyle}[1]{\textbf{#1}}
\definecolor{dokuheadingcolor}{rgb}{0,0,0.60}
\newcommand{\dokubackground}[1]{%
\AddToShipoutPicture{%
  \AtTextCenter{%
    \makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
      \rotatebox{25}{\textsf{\textbf{\textcolor[gray]{0.90}{#1}}}}}}%
  }%
 }%
}

\hypersetup{
pdftitle = {Examen de TP de Réseaux - S52 - L3 Informatique},
pdfauthor = {E. Bruno},
pdfcreator = {DokuTeXit},
pdfproducer = {dokuwiki + TeXit + pdflatex}
}
\title{Examen de TP de Réseaux - S52 - L3 Informatique}
\author{E. Bruno}
\dokubackground{http://lsis.univ-tln.fr/\~{ }bruno/}
\begin{document}
\thispagestyle{empty}
\maketitle
\thispagestyle{empty}
\cleardoublepage
\tableofcontents
\newpage
\thispagestyle{plain}
\cleardoublepage
\newpage



\dokutitlelevelone{Examen de TP de Réseaux - L3 Informatique}
\label{7dc19538646236f01c9d863f274139bf}%% examen_de_tp_de_reseaux_-_l3_informatique
\label{444eec3b87ebb6a99bc5c6d62e76ad44}%%Start: examentp => /home/bruno/public_html/data/pages/examentp.txt
Durée 3h. Les documents de cours et codes sources des TP sont autorisés.

\href{http://moodle.univ-tln.fr/course/view.php?id=394}{http://moodle.univ-tln.fr/course/view.php?id=394}


\dokutitleleveltwo{Mise en place des machines virtuelles}
\label{e157a41d9105504f9ba06bb7ed3aca25}%% mise_en_place_des_machines_virtuelles
Vous devez commencer par mettre en place vos machines virtuelles. Attention, il y une nouvelle machine appelée \dokubold{client2}.


\small
\begin{verbatimtab}
bruno@licinfo1:/usr/local/vbox/vdi$ ./managevirtualmachines.sh clonemaster client2
bruno@licinfo1:/usr/local/vbox/vdi$ ./managevirtualmachines.sh create client2
\end{verbatimtab}
\normalsize
mettez all à la place de \dokumonospace{client2} si vous refaites toutes les machines.

'\dokumonospace{dhclient eth0}\dokumonospace{dchlient eth1}

En cas de problème, supprimer toutes les machines : \dokumonospace{./managevirtualmachines.sh remove all}, puis lancer virtualbox et supprimer les machines qui resteraient ainsi que les disques dur dans le gestionnaire de media.


\dokutitleleveltwo{EXO1 - Etude de la machine client2}
\label{fe81d7cc50f5e048db73dc2b5ec8ba89}%% exo1_-_etude_de_la_machine_client2
Vous donnerez les réponses au trois questions dans le fichier \dokumonospace{exo1.txt}


\begin{enumerate}\dokuitem  Etudier la machine client2, donner toutes les caractéristiques réseaux que vous pouvez trouver en indiquant dans quels fichiers ou avec quelles commandes vous avez obtenu ces informations.
\dokuitem  Depuis votre machine hôte, donnez la commande pour vous connectez en ssh sur la machine client2 et pouvoir lancer directement wireshark.
\dokuitem  Que se passe-t-il si j'exécuté la commande \dokumonospace{ping -s 3200 -c 1 server} sur la machine \dokumonospace{client}.    
\end{enumerate}

\dokutitleleveltwo{EXO2 -  SSH}
\label{efeffe6b53964bf4d03e45107cb01836}%% exo2_-_ssh
Créer les fichiers suivants \dokumonospace{testUser.txt} à la racine du compte \dokumonospace{user} de la machine \dokumonospace{client}, et \dokumonospace{testServer.txt} dans le répertoire \dokumonospace{ICI} à la racine du compte \dokumonospace{root} de la machine \dokumonospace{server}. 

Vous donnerez la liste des commandes qui répondent aux questions suivantes dans le fichier \dokumonospace{exo2.txt}.


\begin{enumerate}\dokuitem  A partir du compte user sur la machine client, déposer le fichier \dokumonospace{testUser.txt} dans le répertoire ICI du compte root de la machine server.
\dokuitem  A partir du compte user sur la machine client, déposer le fichier \dokumonospace{testUser.txt} dans le répertoire /tmp de la machine server.
\dokuitem  A partir du compte user sur la machine client, récuperer le fichier \dokumonospace{testServer.txt} dans le répertoire ICI du compte root de la machine server.
\dokuitem  Mettez en place la connexion avec des clés RSA pour l'utilisateur user de la machine \dokumonospace{client2} puisse se connecter en tant que user sur la machine \dokumonospace{client}.
\dokuitem  Depuis le compte user sur la machine client, exécuter la commande \dokumonospace{ls} en tant que root sur la machine \dokumonospace{server}. 
\end{enumerate}

\dokutitleleveltwo{EXO3 - Ecoute}
\label{852c039f8dafc88760435e52350d17ae}%% exo3_-_ecoute
Vous mettrez vos réponses dans le fichier \dokumonospace{exo3.txt}.


\begin{enumerate}\dokuitem  Dans le répertoire home du compte user de la machine client2, vous trouverez un exécutable appelé mystere. Ce programme effectue une action sur le réseau, à l'aide de wireshark, expliquez laquelle.
\dokuitem  A l'aide de wireshark expliquer quelle est la différence au niveau du réseau entre les commandes suivantes exécutées depuis la machine client2 ;
\begin{enumerate}\dokuitem  ping client
\dokuitem  ping server
\end{enumerate}

\end{enumerate}

\dokutitleleveltwo{EXO4 - Socket}
\label{77f9c69b35d1acb8bc782a4bca9c26ac}%% exo4_-_socket
Cet exercice a pour but d'écrire un serveur (\dokumonospace{MajTCPServer.c}), son client (\dokumonospace{MajTCPClient.c}) et la version multiclients du serveur (\dokumonospace{MajTCPMultiServer.c}). Le serveur renvoie les chaînes de caractères envoyées par des clients après les avoir mises en majuscule.


\begin{enumerate}\dokuitem  \dokumonospace{MajTCPServer.c} fonctionne de la façon suivante :
\begin{enumerate}\dokuitem  À son lancement, le serveur affiche sur sa console son adresse et son numéro de port d'attachement local.
\dokuitem  Puis il envoie au client un message d'accueil (\dokumonospace{Welcome on MajTCPServer}), ce message précise que les chaines sont envoyées ligne par ligne, et que l'envoi d'une ligne contenant uniquement un point (".") termine la serveur.
\dokuitem  Pour chaque ligne reçue le serveur la met en majuscule (\dokumonospace{man toupper(int c)}) et la renvoie au client.
\dokuitem  Lorsqu'une ligne ne contenant qu'un point est reçue, le serveur se termine.
\end{enumerate}

\end{enumerate}
Tester le serveur MajTCPServer avec la commande \dokumonospace{telnet}.


\begin{enumerate}\dokuitem  Écrire le programme \dokumonospace{MajTCPClient.c} qui prend en argument l'adresse IP et le port d'un serveur. Après la connexion, le client permettra de saisir au clavier des chaines, de les envoyer au serveur et d'afficher les réponses.
\dokuitem  Ecrire une version multiclients \dokumonospace{MajTCPMultiServer.c} qui permet à plusieurs clients de se connecter.
\end{enumerate}
\end{document}

