|
|
@ -29,10 +29,11 @@ |
|
|
\begin{frame} |
|
|
\begin{frame} |
|
|
\frametitle{Networking Basics} |
|
|
\frametitle{Networking Basics} |
|
|
\begin{itemize} |
|
|
\begin{itemize} |
|
|
\item How do you capture network traffic? |
|
|
\item How do you get the traffic between Alice and Bob? |
|
|
\end{itemize} |
|
|
\end{itemize} |
|
|
|
|
|
\vfill |
|
|
\begin{center} |
|
|
\begin{center} |
|
|
\begin{tikzpicture} |
|
|
\begin{tikzpicture}[scale=0.8] |
|
|
\Vertex[ x=0, y=0, color=sigflagblue]{A} |
|
|
\Vertex[ x=0, y=0, color=sigflagblue]{A} |
|
|
\Vertex[ x=6, y=0, color=sigflagblue]{B} |
|
|
\Vertex[ x=6, y=0, color=sigflagblue]{B} |
|
|
\Vertex[ x=3, y=-3, Pseudo]{C} |
|
|
\Vertex[ x=3, y=-3, Pseudo]{C} |
|
|
@ -41,7 +42,7 @@ |
|
|
\Text[ x=6, y=0,color=white, position=above,distance=5mm]{\texttt{Bob}} |
|
|
\Text[ x=6, y=0,color=white, position=above,distance=5mm]{\texttt{Bob}} |
|
|
\Edge[color=white,Direct](C)(D) |
|
|
\Edge[color=white,Direct](C)(D) |
|
|
\Edge[color=white](A)(B) |
|
|
\Edge[color=white](A)(B) |
|
|
\Plane[x=-3, y=2, width=2, height=2,image=logos/thinkface, NoBorder] |
|
|
\Plane[x=-2.75, y=2.25, width=1.5, height=1.5,image=logos/thinkface, NoBorder] |
|
|
\Text[ x=3, y=-3.5,color=white]{\texttt{Charlie}} |
|
|
\Text[ x=3, y=-3.5,color=white]{\texttt{Charlie}} |
|
|
\end{tikzpicture} |
|
|
\end{tikzpicture} |
|
|
\end{center} |
|
|
\end{center} |
|
|
@ -50,25 +51,58 @@ |
|
|
\begin{frame} |
|
|
\begin{frame} |
|
|
\frametitle{Networking Basics} |
|
|
\frametitle{Networking Basics} |
|
|
\begin{itemize} |
|
|
\begin{itemize} |
|
|
\item Use a managed switch and mirror the port of either Alice or Bob to the port of Charlie |
|
|
\item Alice and Bob are connected directly: |
|
|
|
|
|
\begin{itemize} |
|
|
|
|
|
\item Use two bridged interfaces on your computer and connect them to Alice and Bob |
|
|
|
|
|
\end{itemize} |
|
|
|
|
|
\item Alice and Bob are connected via a hub |
|
|
|
|
|
\begin{itemize} |
|
|
|
|
|
\item Just plug in to one port of the hub |
|
|
|
|
|
\end{itemize} |
|
|
\end{itemize} |
|
|
\end{itemize} |
|
|
|
|
|
\vfill |
|
|
\begin{center} |
|
|
\begin{center} |
|
|
\begin{tikzpicture} |
|
|
\begin{tikzpicture}[scale=0.8] |
|
|
\Vertex[ x=0, y=0, color=sigflagblue]{A} |
|
|
\Vertex[ x=0, y=0, color=sigflagblue]{A} |
|
|
\Vertex[ x=6, y=0, color=sigflagblue]{B} |
|
|
\Vertex[ x=6, y=0, color=sigflagblue]{B} |
|
|
\Vertex[ x=3, y=-3, Pseudo]{C} |
|
|
\Vertex[ x=3, y=-3, Pseudo]{C} |
|
|
\Vertex[ x=3, y=0, opacity=0, style={color=sigflagblue}]{D} |
|
|
\Vertex[ x=3, y=0, opacity=0, style={color=sigflagblue}]{D} |
|
|
\Text[ x=0, y=0,color=white, position=above,distance=5mm]{\texttt{Alice}} |
|
|
\Text[ x=0, y=0,color=white, position=below,distance=5mm]{\texttt{Alice}} |
|
|
\Text[ x=6, y=0,color=white, position=above,distance=5mm]{\texttt{Bob}} |
|
|
\Text[ x=6, y=0,color=white, position=below,distance=5mm]{\texttt{Bob}} |
|
|
\Edge[color=white,Direct](C)(D) |
|
|
\Edge[color=white,Direct](C)(D) |
|
|
\Edge[color=white](A)(D) |
|
|
\Edge[color=white](A)(B) |
|
|
\Edge[color=white](B)(D) |
|
|
|
|
|
\Plane[x=-3, y=2, width=2, height=2,image=logos/trollface, NoBorder] |
|
|
\Plane[x=-3, y=2, width=2, height=2,image=logos/trollface, NoBorder] |
|
|
\Text[ x=3, y=-3.5,color=white]{\texttt{Charlie}} |
|
|
\Text[ x=3, y=-3.5,color=white]{\texttt{Charlie}} |
|
|
\end{tikzpicture} |
|
|
\end{tikzpicture} |
|
|
\end{center} |
|
|
\end{center} |
|
|
\end{frame} |
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
|
\frametitle{Networking Basics} |
|
|
|
|
|
\begin{itemize} |
|
|
|
|
|
\item Alice and Bob are connected via a switch: |
|
|
|
|
|
\begin{itemize} |
|
|
|
|
|
\item Managed switch: Mirror the port of either Alice or Bob to Charlie |
|
|
|
|
|
\item Unmanaged switch: use a managed switch |
|
|
|
|
|
\end{itemize} |
|
|
|
|
|
\end{itemize} |
|
|
|
|
|
\vfill |
|
|
|
|
|
\begin{center} |
|
|
|
|
|
\begin{tikzpicture}[scale=0.8] |
|
|
|
|
|
\Vertex[ x=0, y=0, color=sigflagblue]{A} |
|
|
|
|
|
\Vertex[ x=6, y=0, color=sigflagblue]{B} |
|
|
|
|
|
\Vertex[ x=3, y=-3, Pseudo]{C} |
|
|
|
|
|
\Vertex[ x=3, y=0, opacity=0, style={color=sigflagblue}]{D} |
|
|
|
|
|
\Text[ x=0, y=0,color=white, position=below,distance=5mm]{\texttt{Alice}} |
|
|
|
|
|
\Text[ x=6, y=0,color=white, position=below,distance=5mm]{\texttt{Bob}} |
|
|
|
|
|
\Edge[color=white,Direct](C)(D) |
|
|
|
|
|
\Edge[color=white](A)(B) |
|
|
|
|
|
\Plane[x=-3, y=2, width=2, height=2,image=logos/trollface, NoBorder] |
|
|
|
|
|
\Text[ x=3, y=-3.5,color=white]{\texttt{Charlie}} |
|
|
|
|
|
\end{tikzpicture} |
|
|
|
|
|
\end{center} |
|
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
\begin{frame} |
|
|
\frametitle{Networking Basics} |
|
|
\frametitle{Networking Basics} |
|
|
\begin{itemize} |
|
|
\begin{itemize} |
|
|
@ -103,33 +137,22 @@ |
|
|
|
|
|
|
|
|
\end{frame} |
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
|
|
\section{Wireshark} |
|
|
\begin{frame} |
|
|
|
|
|
\frametitle{ANSI C} |
|
|
|
|
|
\begin{exampleblock}{helloworld.c} |
|
|
|
|
|
\lstinputlisting[language=c]{sources/helloworld.c} |
|
|
|
|
|
\end{exampleblock} |
|
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
\begin{frame} |
|
|
\frametitle{Java} |
|
|
\frametitle{Wireshark} |
|
|
\begin{alertblock}{helloworld.java} |
|
|
\begin{itemize} |
|
|
\lstinputlisting[language=java]{sources/helloworld.java} |
|
|
\item Find the interesting parts in a dump: Filter packets |
|
|
\end{alertblock} |
|
|
\begin{itemize} |
|
|
\end{frame} |
|
|
\item tcpdump (CLI) |
|
|
|
|
|
\item Wireshark (GUI) |
|
|
|
|
|
\end{itemize} |
|
|
|
|
|
\end{itemize} |
|
|
|
|
|
\vfill |
|
|
|
|
|
\begin{block}{Example: Capturing traffic from \texttt{eth0}} |
|
|
|
|
|
\lstinputlisting[language=bash,numbers=none]{sources/tcpdump.sh} |
|
|
|
|
|
\end{block} |
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
|
\frametitle{Go} |
|
|
|
|
|
\begin{block}{helloworld.go} |
|
|
|
|
|
\lstinputlisting[language=go]{sources/helloworld.go} |
|
|
|
|
|
\end{block} |
|
|
|
|
|
\end{frame} |
|
|
\end{frame} |
|
|
|
|
|
|
|
|
\begin{frame} |
|
|
|
|
|
\frametitle{Python} |
|
|
|
|
|
\begin{exampleblock}{helloworld.py} |
|
|
|
|
|
\lstinputlisting[language=Python]{sources/helloworld.py} |
|
|
|
|
|
\end{exampleblock} |
|
|
|
|
|
\end{frame} |
|
|
|
|
|
|
|
|
|
|
|
\end{document} |
|
|
\end{document} |
|
|
|