Commit Graph

87 Commits

Author SHA1 Message Date
Ravi kumar Veeramally a83dc52d50 monitor: Decode additional flags from NLMSG header
Additional universal message flags are defined which are applied
only for GET requests (NLM_F_ROOT, NLM_F_ATOMIC, NLM_F_MATCH,
NLM_F_DUMP) and flags which are related to NEW requests
(NLM_F_REPLACE, NLM_F_EXCL, NLM_F_CREATE, NLM_F_APPEND).
2015-01-21 13:31:55 -06:00
Ravi kumar Veeramally fa40340d68 monitor: Print netlink core control messages
Decode core control messages (NLMSG_ERROR and NLMSG_DONE).
2015-01-19 21:17:52 -06:00
Ravi kumar Veeramally 4d7ff64f38 monitor: Print NLMSG header
Print NLMSG header for detailed information.

e.g:
> RTNL: Done (0x03) len 4 [multi]
  Flags: 2 (0x002)
  Sequence number: 1421667486 (0x54bcec9e)
  Port ID: 24768
2015-01-19 21:11:45 -06:00
Ravi kumar Veeramally 0922ce9817 monitor: Provide a helper function
Provide a helper function to convert NLMSG type to string.
2015-01-19 21:11:12 -06:00
Marcel Holtmann 75ec08df73 monitor: Define ARPHRD_NETLINK if it not provided by system headers 2014-12-19 01:44:49 +01:00
Patrik Flykt ac663fba69 monitor: Print SSID IE
Print the SSID IE. If the SSID is not UTF-8 compliant, replace the non-
compliant byte with the UTF-8 substitution character. If the SSID is
hidden, its length and/or all characters are zero; print nothing in
this case.
2014-12-18 11:10:03 -06:00
Ravi kumar Veeramally deb80322ea monitor: Fix memory leak
Memory allocated l_timeout struct from l_timeout_create not being
freed.

==4184== HEAP SUMMARY:
==4184==     in use at exit: 32 bytes in 1 blocks
==4184==   total heap usage: 50 allocs, 49 frees, 39,902 bytes allocated
==4184==
==4184== 32 bytes in 1 blocks are definitely lost in loss record 1 of 1
==4184==    at 0x4C2ABA0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==4184==    by 0x40706D: l_malloc (util.c:62)
==4184==    by 0x408D9A: l_timeout_create (timeout.c:117)
==4184==    by 0x40896A: signal_callback (signal.c:82)
==4184==    by 0x408692: l_main_run (main.c:346)
==4184==    by 0x402474: main (main.c:797)
==4184==
==4184== LEAK SUMMARY:
==4184==    definitely lost: 32 bytes in 1 blocks
==4184==    indirectly lost: 0 bytes in 0 blocks
==4184==      possibly lost: 0 bytes in 0 blocks
==4184==    still reachable: 0 bytes in 0 blocks
==4184==         suppressed: 0 bytes in 0 blocks
2014-12-16 08:56:57 -06:00
Denis Kenzior 44301601ed monitor: Various style cleanups 2014-12-15 16:19:29 -06:00
Patrik Flykt 214c89ba8b monitor: Print BSS load information 2014-12-15 16:14:31 -06:00
Patrik Flykt 4b8542e671 monitor: Print TPC Report information 2014-12-15 16:14:31 -06:00
Patrik Flykt 2f21cb47c4 monitor: Print TIM information 2014-12-15 16:14:30 -06:00
Patrik Flykt ca77daafe3 monitor: Print ERP information 2014-12-15 16:14:30 -06:00
Patrik Flykt afbf098774 monitor: Print Power constraint 2014-12-15 16:14:30 -06:00
Patrik Flykt 87b49f8071 monitor: Print DSSS parameter set 2014-12-15 16:14:30 -06:00
Denis Kenzior e2cd88c1cd nlmon: Fix style 2014-12-12 10:59:48 -06:00
Patrik Flykt f2745611f6 monitor: Print country/regulatory IEs 2014-12-12 10:58:25 -06:00
Patrik Flykt ce93e1bf9c monitor: Print supported rates
Print out supported rates, both basic and extended IEs. A trailing
(B) after the rate indicates BSSBasicRateSet.
2014-12-12 10:55:22 -06:00
Patrik Flykt fbdb88dda3 monitor: Create table for IE decoding
Create a table for IE decoding and modify vendor IE printing to use this
new implementation. Unconditionally print out hexdumps of the IEs in order
to be able to verify the decoded IEs and its byte representation.
2014-12-12 10:47:54 -06:00
Jukka Rissanen 89bacdbc08 monitor: Use standard printf modifiers for attribute values
Use PRIu64 etc. macros from inttypes.h so that the code works
in every situation, otherwise using %lu for U64 value gives
segfault.
2014-10-07 21:24:26 -05:00
Denis Kenzior d9768348d5 monitor: Always try to find an existing interface
Duplicate detection will happen when we try to create a new link.  The
newlink flags were updated to fail if the device already exists.
2014-10-04 21:31:58 -05:00
Denis Kenzior 046e49588e monitor: Fix minor coding style issues 2014-10-04 21:08:51 -05:00
Denis Kenzior 5fae2cc524 monitor: Fix whitespace
No spaces for indentation
2014-10-04 21:07:18 -05:00
Patrik Flykt 1d4ab8de47 monitor: Remove netlink monitor interface if created by iwmon
Send a RTM_DELLINK for the interface in use if it was created by iwmon.
As the main loop needs to be running when sending RTM_DELLINK, add a
timeout function for quitting the main loop.
2014-10-04 21:07:15 -05:00
Patrik Flykt 0b75b71555 monitor: Create netlink monitor interface if not found
If the netlink monitor interface is not found or did not have all needed
flags set, create one with the proper flags.
2014-10-04 20:58:46 -05:00
Denis Kenzior 73f5f0766d monitor: Fix memory leak
In the case that we use iwmon --interface nlmon
2014-10-04 20:50:16 -05:00
Denis Kenzior 38ab7511af monitor: minor coding style fix ups 2014-10-04 20:41:32 -05:00
Patrik Flykt 19e2132fce monitor: Lookup existing monitor interface via netlink
On startup, request a list of interfaces via netlink. Find out whether
an interface of type nlmon exists and use it if it has all the needed
flags set. The default name of the interface is 'nlmon', which can be
changed from the command line. If the interface name is in use and is
not an nlmon type, print out an error message and exit.
2014-10-04 19:56:01 -05:00
Marcel Holtmann 9fa506c237 monitor: Add option to provide nl80211 family identifier 2014-08-16 00:00:10 +02:00
Marcel Holtmann 18652f1f49 monitor: Add support for extracting family identifiers from traces 2014-08-15 23:38:37 +02:00
Marcel Holtmann d57006ae23 monitor: Match on skb->dev->type and skb->protocol for both filters 2014-08-13 22:22:28 -07:00
Marcel Holtmann 0d81689e08 monitor: Use socket filter also for netlink monitor interface 2014-08-13 21:55:06 -07:00
Marcel Holtmann 40160a7fd4 monitor: Use socket filter for PAE / EAPoL to catch all packets 2014-08-12 21:44:30 -07:00
Marcel Holtmann 07aabaf455 monitor: Fix spelling mistake with timestamp error message 2014-08-12 21:43:39 -07:00
Marcel Holtmann 50f8c8614b monitor: Print RTNL traffic also when live sniffing 2014-08-12 20:27:48 -07:00
Marcel Holtmann d3f37628b0 monitor: Add support for writing combined PCAP trace files 2014-08-12 19:35:59 -07:00
Marcel Holtmann b97c661a97 monitor: Print out relative timestamp offset for each packet 2014-08-12 17:40:51 -07:00
Marcel Holtmann 2749e4e4a2 monitor: Print details for RTNL Set Link commands 2014-08-12 17:24:03 -07:00
Marcel Holtmann 772574716e monitor: Add proper labels to RTNL messages 2014-08-12 16:57:48 -07:00
Marcel Holtmann 581f00171d monitor: Skip packet from PCAP file if it is truncated 2014-08-12 00:40:07 -07:00
Marcel Holtmann b00bea15ab monitor: Fix minor typo in management frame type 2014-08-11 20:33:08 -07:00
Marcel Holtmann da058ae75b monitor: Add entry for WPI-SMS4 keys and cipher 2014-08-11 00:16:51 -07:00
Marcel Holtmann 7dfe703286 monitor: Add support for decoding pairwise and group cipher information 2014-08-10 21:54:26 -07:00
Marcel Holtmann e969407e2c monitor: Add support for decoding cipher suites attribute 2014-08-10 21:48:22 -07:00
Marcel Holtmann 5cf13fa692 monitor: Fix max remain on channel attribute decoding 2014-08-10 21:48:02 -07:00
Marcel Holtmann a95c720d64 monitor: Decode the EAPoL packet headers of PAE frames 2014-08-10 20:20:13 -07:00
Marcel Holtmann 351208b642 monitor: Decode key default types and key cipher information 2014-08-10 19:22:11 -07:00
Marcel Holtmann a2a59e78fa monitor: Extract PAE port traffic out of PCAP files and decode it 2014-08-10 18:32:11 -07:00
Marcel Holtmann 9fbd454c88 monitor: Fix check for netlink hardware and protocol type 2014-08-10 17:33:48 -07:00
Marcel Holtmann 4a5f30bbc2 monitor: Listing to Ethernet packets on PAE port and display them 2014-08-10 14:57:28 -07:00
Marcel Holtmann a65362f510 monitor: Fix missing timestamp handling for netlink messages 2014-08-10 14:35:33 -07:00