1 1.1 christos <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> 2 1.1 christos 3 1.1 christos <refentry> 4 1.1.1.6 christos <refentryinfo> 5 1.1.1.6 christos <date>07 August 2019</date> 6 1.1.1.6 christos </refentryinfo> 7 1.1.1.6 christos 8 1.1 christos <refmeta> 9 1.1 christos <refentrytitle>eapol_test</refentrytitle> 10 1.1 christos <manvolnum>8</manvolnum> 11 1.1 christos </refmeta> 12 1.1 christos <refnamediv> 13 1.1 christos <refname>eapol_test</refname> 14 1.1 christos 15 1.1 christos <refpurpose>EAP peer and RADIUS client testing</refpurpose> 16 1.1 christos </refnamediv> 17 1.1 christos 18 1.1 christos <refsynopsisdiv> 19 1.1 christos <cmdsynopsis> 20 1.1 christos <command>eapol_test</command> 21 1.1 christos <arg>-nWS</arg> 22 1.1 christos <arg>-c<replaceable>config file</replaceable></arg> 23 1.1 christos <arg>-a<replaceable>server IP address</replaceable></arg> 24 1.1 christos <arg>-A<replaceable>client IP address</replaceable></arg> 25 1.1 christos <arg>-p<replaceable>UDP port</replaceable></arg> 26 1.1 christos <arg>-s<replaceable>shared secret</replaceable></arg> 27 1.1 christos <arg>-r<replaceable>re-authentications</replaceable></arg> 28 1.1 christos <arg>-t<replaceable>timeout</replaceable></arg> 29 1.1 christos <arg>-C<replaceable>Connect-Info</replaceable></arg> 30 1.1 christos <arg>-M<replaceable>MAC address</replaceable></arg> 31 1.1 christos <arg>-o<replaceable>file</replaceable></arg> 32 1.1 christos <arg>-N<replaceable>attr spec</replaceable></arg> 33 1.1 christos </cmdsynopsis> 34 1.1 christos <cmdsynopsis> 35 1.1 christos <command>eapol_test scard</command> 36 1.1 christos </cmdsynopsis> 37 1.1 christos <cmdsynopsis> 38 1.1 christos <command>eapol_test sim</command> 39 1.1 christos <arg>PIN</arg> 40 1.1 christos <arg>num triplets</arg> 41 1.1 christos </cmdsynopsis> 42 1.1 christos </refsynopsisdiv> 43 1.1 christos 44 1.1 christos <refsect1> 45 1.1 christos <title>Overview</title> 46 1.1 christos 47 1.1 christos <para>eapol_test is a program that links together the same EAP 48 1.1 christos peer implementation that wpa_supplicant is using and the RADIUS 49 1.1 christos authentication client code from hostapd. In addition, it has 50 1.1 christos minimal glue code to combine these two components in similar 51 1.1 christos ways to IEEE 802.1X/EAPOL Authenticator state machines. In other 52 1.1 christos words, it integrates IEEE 802.1X Authenticator (normally, an 53 1.1 christos access point) and IEEE 802.1X Supplicant (normally, a wireless 54 1.1 christos client) together to generate a single program that can be used to 55 1.1 christos test EAP methods without having to setup an access point and a 56 1.1 christos wireless client.</para> 57 1.1 christos 58 1.1 christos <para>The main uses for eapol_test are in interoperability testing 59 1.1 christos of EAP methods against RADIUS servers and in development testing 60 1.1 christos for new EAP methods. It can be easily used to automate EAP testing 61 1.1 christos for interoperability and regression since the program can be run 62 1.1 christos from shell scripts without require additional test components apart 63 1.1 christos from a RADIUS server. For example, the automated EAP tests described 64 1.1 christos in eap_testing.txt are implemented with eapol_test. Similarly, 65 1.1 christos eapol_test could be used to implement an automated regression 66 1.1 christos test suite for a RADIUS authentication server.</para> 67 1.1 christos 68 1.1 christos 69 1.1 christos <para>As an example:</para> 70 1.1 christos 71 1.1 christos <blockquote><programlisting> 72 1.1 christos eapol_test -ctest.conf -a127.0.0.1 -p1812 -ssecret -r1 73 1.1 christos </programlisting></blockquote> 74 1.1 christos 75 1.1 christos <para>tries to complete EAP authentication based on the network 76 1.1 christos configuration from test.conf against the RADIUS server running 77 1.1 christos on the local host. A re-authentication is triggered to test fast 78 1.1 christos re-authentication. The configuration file uses the same format for 79 1.1 christos network blocks as wpa_supplicant.</para> 80 1.1 christos 81 1.1 christos </refsect1> 82 1.1 christos <refsect1> 83 1.1 christos <title>Command Arguments</title> 84 1.1 christos <variablelist> 85 1.1 christos <varlistentry> 86 1.1 christos <term>-c configuration file path</term> 87 1.1 christos 88 1.1 christos <listitem><para>A configuration to use. The configuration should 89 1.1 christos use the same format for network blocks as wpa_supplicant. 90 1.1 christos </para></listitem> 91 1.1 christos </varlistentry> 92 1.1 christos 93 1.1 christos <varlistentry> 94 1.1 christos <term>-a AS address</term> 95 1.1 christos 96 1.1 christos <listitem><para>IP address of the authentication server. The 97 1.1 christos default is '127.0.0.1'.</para></listitem> 98 1.1 christos </varlistentry> 99 1.1 christos 100 1.1 christos <varlistentry> 101 1.1 christos <term>-A client address</term> 102 1.1 christos 103 1.1 christos <listitem><para>IP address of the client. The default is to 104 1.1 christos select an address automatically.</para></listitem> 105 1.1 christos </varlistentry> 106 1.1 christos 107 1.1 christos <varlistentry> 108 1.1 christos <term>-p AS port</term> 109 1.1 christos 110 1.1 christos <listitem><para>UDP port of the authentication server. The 111 1.1 christos default is '1812'.</para></listitem> 112 1.1 christos </varlistentry> 113 1.1 christos 114 1.1 christos <varlistentry> 115 1.1 christos <term>-s AS secret</term> 116 1.1 christos 117 1.1 christos <listitem><para>Shared secret with the authentication server. 118 1.1 christos The default is 'radius'.</para></listitem> 119 1.1 christos </varlistentry> 120 1.1 christos 121 1.1 christos <varlistentry> 122 1.1 christos <term>-r count</term> 123 1.1 christos 124 1.1 christos <listitem><para>Number of reauthentications.</para></listitem> 125 1.1 christos </varlistentry> 126 1.1 christos 127 1.1 christos <varlistentry> 128 1.1 christos <term>-t timeout</term> 129 1.1 christos 130 1.1 christos <listitem><para>Timeout in seconds. The default is 30.</para></listitem> 131 1.1 christos </varlistentry> 132 1.1 christos 133 1.1 christos <varlistentry> 134 1.1 christos <term>-C info</term> 135 1.1 christos 136 1.1 christos <listitem><para>RADIUS Connect-Info. The default is 137 1.1 christos 'CONNECT 11Mbps 802.11b'.</para></listitem> 138 1.1 christos </varlistentry> 139 1.1 christos 140 1.1 christos 141 1.1 christos <varlistentry> 142 1.1 christos <term>-M mac address</term> 143 1.1 christos 144 1.1 christos <listitem><para>Client MAC address (Calling-Station-Id). The 145 1.1 christos default is '02:00:00:00:00:01'.</para></listitem> 146 1.1 christos </varlistentry> 147 1.1 christos 148 1.1 christos <varlistentry> 149 1.1 christos <term>-o file</term> 150 1.1 christos 151 1.1 christos <listitem><para>Location to write out server certificate. 152 1.1 christos </para></listitem> 153 1.1 christos </varlistentry> 154 1.1 christos 155 1.1 christos <varlistentry> 156 1.1 christos <term>-N attr spec</term> 157 1.1 christos 158 1.1 christos <listitem><para>Send arbitrary attribute specific by 159 1.1 christos attr_id:syntax:value, or attr_id alone. attr_id should be the numeric 160 1.1 christos ID of the attribute, and syntax should be one of 's' (string), 161 1.1 christos 'd' (integer), or 'x' (octet string). The value is the attribute value 162 1.1 christos to send. When attr_id is given alone, NULL is used as the attribute 163 1.1 christos value. Multiple attributes can be specified by using the option 164 1.1 christos several times.</para></listitem> 165 1.1 christos </varlistentry> 166 1.1 christos 167 1.1 christos <varlistentry> 168 1.1 christos <term>-n</term> 169 1.1 christos 170 1.1 christos <listitem><para>Indicates that no MPPE keys are expected. 171 1.1 christos </para></listitem> 172 1.1 christos </varlistentry> 173 1.1 christos 174 1.1 christos <varlistentry> 175 1.1 christos <term>-W</term> 176 1.1 christos 177 1.1 christos <listitem><para>Wait for a control interface monitor before starting. 178 1.1 christos </para></listitem> 179 1.1 christos </varlistentry> 180 1.1 christos 181 1.1 christos <varlistentry> 182 1.1 christos <term>-S</term> 183 1.1 christos 184 1.1 christos <listitem><para>Save configuration after authentication. 185 1.1 christos </para></listitem> 186 1.1 christos </varlistentry> 187 1.1 christos 188 1.1 christos </variablelist> 189 1.1 christos </refsect1> 190 1.1 christos <refsect1> 191 1.1 christos <title>See Also</title> 192 1.1 christos <para> 193 1.1 christos <citerefentry> 194 1.1 christos <refentrytitle>wpa_supplicant</refentrytitle> 195 1.1 christos <manvolnum>8</manvolnum> 196 1.1 christos </citerefentry> 197 1.1 christos </para> 198 1.1 christos </refsect1> 199 1.1 christos <refsect1> 200 1.1 christos <title>Legal</title> 201 1.1.1.6 christos <para>wpa_supplicant is copyright (c) 2003-2022, 202 1.1 christos Jouni Malinen <email>j (a] w1.fi</email> and 203 1.1 christos contributors. 204 1.1 christos All Rights Reserved.</para> 205 1.1 christos 206 1.1 christos <para>This program is licensed under the BSD license (the one with 207 1.1 christos advertisement clause removed).</para> 208 1.1 christos </refsect1> 209 1.1 christos </refentry> 210