\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{shorttcircuitt (shortt\_circuitt)} \pdfinfo{ /Title (802-11.pdf) /Creator (Cheatography) /Author (shorttcircuitt (shortt\_circuitt)) /Subject (802.11 Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{8BCEEB} \definecolor{LightBackground}{HTML}{F0F8FC} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{802.11 Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{shorttcircuitt (shortt\_circuitt)} via \textcolor{DarkBackground}{\uline{cheatography.com/77499/cs/18993/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}shorttcircuitt (shortt\_circuitt) \\ \uline{cheatography.com/shortt-circuitt} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 1st March, 2019.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{802.11 Connection Basics}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/shortt-circuitt_1551392136_802-11-associaiton-e1502962378714.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{1.44 cm} x{6.56 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Connection Status}} \tn % Row 0 \SetRowColor{LightBackground} State 1 & Unauthenticated and Unassociated \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} State 2 & Authenticated, Unassociated \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} State 3 & Authenticated, Associated \tn % Row Count 3 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{STA must be in State 3 before connection is established.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Control Frames}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{ACK:}} After receiving a data frame, the receiver will send and ACK frame if no errors were found. If the transmitter doesn't receive an ACK within a predetermined period, it will retransmit the frame} \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{RTS:}} The transmitter sends an optional RTS frame before sending any data frames.} \tn % Row Count 7 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{CTS:}} The receiver responds to the RTS with a CTS frame, clearing the transmitter to send its data frame. The CTS provides collision control management by including a time value were all other devices are to hold off transmission while the RTS transmitter sends its data} \tn % Row Count 13 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.8 cm} x{7.2 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Management Frames}} \tn % Row 0 \SetRowColor{LightBackground} 1000 & {\bf{Beacon}}: Sent periodically from an AP to announce its presence and relay information that is required by the STAs to connect to the wireless network. \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} 0100 & {\bf{Probe Request}}: Sent from a STA to discover 802.11 networks within its proximity. Probe requests advertise the STAs supported data rates and 802.11 capabilities such as 802.11n. \tn % Row Count 10 (+ 5) % Row 2 \SetRowColor{LightBackground} 0101 & {\bf{Probe Response}}: Sent from an AP after receiving a Probe Request and having at least one common supported data rate. Advertises the SSID, supported data rates, encryption types, and other 802.11 capabilities. \tn % Row Count 16 (+ 6) % Row 3 \SetRowColor{white} 1011 & {\bf{Authentication Request}}: The STA chooses a SSID/network from the probe responses it receives. It also checks the compatibility on encryption type. Once compatible networks are discovered the STA will attempt low-level 802.11 authentication with compatible APs. The STA sends a low-level 802.11 authentication frame to an AP, setting the authentication to open and the sequence to 0x0001. \tn % Row Count 27 (+ 11) % Row 4 \SetRowColor{LightBackground} 1011 & {\bf{Authentication Response:}} The AP receives the authentication frame and responds to the STA with authentication frame set to open indicating a sequence. {\emph{If an AP receives any frame other than an authentication or probe request from a STA that is not authenticated it will respond with a deauthentication frame placing the mobile into an unauthenticated and unassociated state. The STA will have to begin the association process from the low level authentication step.}} At this point the STA is authenticated but not yet associated. \tn % Row Count 42 (+ 15) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{p{0.8 cm} x{7.2 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Management Frames (cont)}} \tn % Row 5 \SetRowColor{LightBackground} 1100 & {\bf{Deauthentication}} \tn % Row Count 1 (+ 1) % Row 6 \SetRowColor{white} 0000 & {\bf{Association Request:}} Once the STA determines which AP it would like to associate to, it will send an association request to that AP. The association request contains chosen encryption types and other compatible 802.11 capabilities. \tn % Row Count 8 (+ 7) % Row 7 \SetRowColor{LightBackground} 0001 & {\bf{Association Response:}} If the elements of association request match the capabilities of the AP, it will create an Association ID for the STA and respond with an association response, with a success message granting network access to the STA. \tn % Row Count 15 (+ 7) % Row 8 \SetRowColor{white} 0010 & {\bf{Reassociation Request}} \tn % Row Count 16 (+ 1) % Row 9 \SetRowColor{LightBackground} 0011 & {\bf{Reassociation Response}} \tn % Row Count 17 (+ 1) % Row 10 \SetRowColor{white} 1010 & {\bf{Disassociation}} \tn % Row Count 18 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Beacon Frame}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{The AP broadcasts a Beacon frame at regular intervals, typically every {\bf{100ms}}. This is called the {\bf{Target Beacon Transmit Time (TBTT)}}} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{The Beacon carries regulatory, capability and BSS management information such as {\bf{Supported Data Rates}}, {\bf{SSID}} and {\bf{Timestamp}}.} \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{A Beacon is also used to advertise the AP capabilities. This is used by clients doing a passive scan to make a decision to connect to the AP. This is necessary to keep all clients synchronized with the AP in order for the clients to perform functions like power save.} \tn % Row Count 12 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}