| 1 | 2009-06-07 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 2 | * PM/Gui/Pages/SniffPage.py: |
|---|
| 3 | - Fixing a bug due to check_finished() called on context that doesn't |
|---|
| 4 | provide, like Sequence. |
|---|
| 5 | * PM/Gui/Pages/PacketPage.py: |
|---|
| 6 | - Using get_raw() method instead of get_packet_raw() |
|---|
| 7 | * PM/Gui/Pages/SequencePage.py: |
|---|
| 8 | - 80 columns line wrap fix. |
|---|
| 9 | - Switching to standard tooltip scheme instead of HIGTooltip. |
|---|
| 10 | - Implemented a context menu to copy, delete and paste selected packet. |
|---|
| 11 | - Fixed text label. |
|---|
| 12 | * PM/Gui/Tabs/OperationsTab.py: |
|---|
| 13 | - Fixing a bug due to not checking for the load()/save() correctness. |
|---|
| 14 | * PM/Backend/Scapy/Context/Sequence.py: |
|---|
| 15 | - Various bug fix. Fixing a regression that doesn't set the title |
|---|
| 16 | after the file is saved. |
|---|
| 17 | * PM/Backend/Scapy/Context/Sniff.py: |
|---|
| 18 | - Fixing "9, Bad file descriptor" bug showed when the sniff session |
|---|
| 19 | is stopped. |
|---|
| 20 | * PM/Backend/Scapy/wrapper.py |
|---|
| 21 | PM/Backend/Scapy/serialize.py: |
|---|
| 22 | - Various fix. |
|---|
| 23 | - Avoid to save not edited properties. |
|---|
| 24 | - Using base64 to serialize field values. |
|---|
| 25 | * PM/Core/Logger.py: |
|---|
| 26 | - Adding a PM_NOCOLORTERM environment variable to avoid the use of |
|---|
| 27 | colors on terminal. |
|---|
| 28 | * PM/Backend/Scapy/utils.py: |
|---|
| 29 | - Now the SendReceiveConsumer and SequenceConsumer could use the |
|---|
| 30 | helpers. |
|---|
| 31 | * PM/Manager/PreferenceManager.py |
|---|
| 32 | PM/Gui/Dialogs/Preferences.py: |
|---|
| 33 | - Introducing enumerator variables. |
|---|
| 34 | - Add variables to manage the various capmethods. |
|---|
| 35 | * PM/Backend/Scapy/packet.py: |
|---|
| 36 | - Added a copy() function to MetaPacket. |
|---|
| 37 | * PM/Gui/Tabs/ProtocolSelectorTab.py: |
|---|
| 38 | - Fix wrong colorized rows when the packets are organized per layer. |
|---|
| 39 | * PM/Gui/Core/MainWindow.py: |
|---|
| 40 | - Fixing the size of the application by suggesting a default_size |
|---|
| 41 | - Various fix to avoid exceptions if page remove are not a Session. |
|---|
| 42 | * PM/Gui/Tabs/MainTab.py: |
|---|
| 43 | - Sexy stuff like IntroPage introduced. |
|---|
| 44 | |
|---|
| 45 | Bug fixing. |
|---|
| 46 | UI improvements. |
|---|
| 47 | Helper methods for SendReceiveContext and SequenceContext. |
|---|
| 48 | |
|---|
| 49 | 2009-06-02 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 50 | * attacks/offline/wifi/sources/main.py: |
|---|
| 51 | - First (dummy) implementation of Wifi decoder module. |
|---|
| 52 | * attacks/offline/ethernet/sources/main.py: |
|---|
| 53 | - First implementation of Ethernet decoder module. |
|---|
| 54 | * attacks/offline/ip/sources/main.py: |
|---|
| 55 | - First implementation of IP decoder module. |
|---|
| 56 | * attacks/offline/tcp/sources/main.py: |
|---|
| 57 | - First implementation of TCP decoder module. |
|---|
| 58 | * attacks/attacktester.py: |
|---|
| 59 | - Simple script to test the decoders/dissectors/attacks from command |
|---|
| 60 | line. |
|---|
| 61 | * PM/Backend/Scapy/translator.py: |
|---|
| 62 | - Global translator script for fields that does not respect wireshark |
|---|
| 63 | visible filters nomenclature. (Used in get_field of MetaPacket) |
|---|
| 64 | * PM/Backend/Scapy/wrapper.py: |
|---|
| 65 | - Fixing a bug related to the wrong implementation of get_field_size. |
|---|
| 66 | * PM/Backend/Scapy/packet.py: |
|---|
| 67 | - Add get_raw_layer function. |
|---|
| 68 | - Add get_field function that should respect wireshark filters. |
|---|
| 69 | - Add get_datalink function to return the correct datalink for the |
|---|
| 70 | selected packet. |
|---|
| 71 | * PM/Core/NetConst.py: |
|---|
| 72 | - Module that contains constants used in AttackFramework implementation. |
|---|
| 73 | * PM/Manager/AttackManager.py: |
|---|
| 74 | - Real code for AttackFramework idea. |
|---|
| 75 | - Add coroutine decorator to create more performant filters, decoders |
|---|
| 76 | or dissectors. |
|---|
| 77 | - Add Decoder class if the OOP design is preferred. |
|---|
| 78 | - Add AttackManager singleton class that contains all the references |
|---|
| 79 | to decoders and filters used in PM. |
|---|
| 80 | - Add AttackDispatcher class to separate the feed behaviour from the |
|---|
| 81 | Singleton class. This lets you call various dispatcher without |
|---|
| 82 | having the mess to create a single AttackManager for every invocation. |
|---|
| 83 | - Add AttackPlugin as base class and the derived one OfflineAttack, |
|---|
| 84 | OnlineAttack. |
|---|
| 85 | - Add AttackTester class used for testing purpose. |
|---|
| 86 | |
|---|
| 87 | Scapy bugfixing. |
|---|
| 88 | First approach of AttackFramework idea. |
|---|
| 89 | |
|---|
| 90 | 2009-05-24 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 91 | * PM/Gui/Widgets/Plotter.py |
|---|
| 92 | PM/Gui/Widgets/PropertyGrid.py: |
|---|
| 93 | - Fixing various bugs due to ConditionalField used by Scapy. |
|---|
| 94 | * PM/Backend/Scapy/wrapper.py: |
|---|
| 95 | - Added a new function is_showable_field() to manage this situation. |
|---|
| 96 | - Various fix for ConditionalField. |
|---|
| 97 | * PM/Backend/Scapy/packet.py: |
|---|
| 98 | - Added rebuild_from_raw_payload() to MetaPacket. |
|---|
| 99 | * PM/Gui/Pages/PacketPage.py: |
|---|
| 100 | - Add the possibility to edit the packet directly from the HexView. |
|---|
| 101 | * PM/Gui/Widgets/PyGtkHexView.py: |
|---|
| 102 | - Added a popup menu for common actions like cut/copy/paste. |
|---|
| 103 | * PM/Gui/Plugins/Network.py |
|---|
| 104 | PM/Gui/Plugins/PathPage.py |
|---|
| 105 | PM/Gui/Plugins/PluginPage.py |
|---|
| 106 | PM/Gui/Plugins/Tree.py |
|---|
| 107 | PM/Gui/Plugins/Update.py |
|---|
| 108 | PM/Gui/Plugins/Containers.py |
|---|
| 109 | PM/Gui/Plugins/Engine.py |
|---|
| 110 | PM/Gui/Plugins/Window.py |
|---|
| 111 | PM/Backend/Scapy/Context/Sniff.py |
|---|
| 112 | PM/Backend/Scapy/utils.py: |
|---|
| 113 | - Switch to new plugin schema. |
|---|
| 114 | * plugins/geoip/setup.py |
|---|
| 115 | plugins/traceroute/setup.py: |
|---|
| 116 | - Fix the setup.py to fit schema change. |
|---|
| 117 | |
|---|
| 118 | Insert mode for HexView implemented. |
|---|
| 119 | 80 columns line wrap fixed in various files and general bug fixing. |
|---|
| 120 | |
|---|
| 121 | 2009-05-19 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 122 | * PM/Backend/Scapy/Context/Sniff.py |
|---|
| 123 | PM/Backend/Scapy/utils.py: |
|---|
| 124 | - Moving helper related code to utils. |
|---|
| 125 | - Various fix for win32. Now the dumpcap helper should work great. |
|---|
| 126 | Windump seems to not print the packets captured on the stderr |
|---|
| 127 | so not works as excepted. |
|---|
| 128 | * PM/Gui/Dialogs/Interface.py: |
|---|
| 129 | - Repopulate the store on capmethod changes. This is required for |
|---|
| 130 | windows because tcpdump/dumpcap doesn't understand the interface |
|---|
| 131 | nomenclature used by libdnet python binding. |
|---|
| 132 | * PM/PacketManipulator: |
|---|
| 133 | - Reverting to pygtk >= 2.10 requirement. 2.14 seems to be not |
|---|
| 134 | available yet on windows. |
|---|
| 135 | |
|---|
| 136 | Win32 fixes. |
|---|
| 137 | |
|---|
| 138 | 2009-05-18 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 139 | * PM/Backend/Scapy/Context/Sniff.py |
|---|
| 140 | PM/Backend/Scapy/utils.py: |
|---|
| 141 | - Moving all helper related code to utils.py to make SendReceive and |
|---|
| 142 | SequenceConsumer benefit of it. |
|---|
| 143 | 2009-05-17 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 144 | * PM/Gui/Dialogs/Preferences.py |
|---|
| 145 | PM/Gui/Core/App.py |
|---|
| 146 | PM/Gui/Manager/PreferenceManager.py: |
|---|
| 147 | - Added a check for python version (that should be >= 2.6) |
|---|
| 148 | - Making checks for root/correct python version optional by |
|---|
| 149 | adding it in pm-prefs.xml file, and in SectionPage of |
|---|
| 150 | Preference dialog. |
|---|
| 151 | * PM/Gui/Core/MainWindow.py |
|---|
| 152 | PM/Gui/Core/GdlPaned.py: |
|---|
| 153 | - Added a gdl paned implementation. You need gnome-python-extra |
|---|
| 154 | package to use that implementation. |
|---|
| 155 | * TODO: Cleaned up |
|---|
| 156 | * PM/Gui/pages/PacketPage.py |
|---|
| 157 | PM/Gui/Widgets/PyGtkHexView.py: |
|---|
| 158 | - Added a new implementation of read/write hex view. |
|---|
| 159 | * PM/Backend/Scapy/packet.py: |
|---|
| 160 | - Added new method get_protocol_bounds() to MetaPacket class. |
|---|
| 161 | * PM/Backend/Scapy/wrapper.py: |
|---|
| 162 | - Added new function get_proto_size() used by MetaPacket. |
|---|
| 163 | * PM/Gui/Tabs/PropertyTab.py: |
|---|
| 164 | - Now if the user select a protocol in the ProtocolHierarchy the |
|---|
| 165 | selection will be propagated to the hexview with the same behaviour |
|---|
| 166 | of field selection but for the entire protocol. See also wireshark. |
|---|
| 167 | * PM/Gui/Widgets/PropertyGrid.py: |
|---|
| 168 | - Added the possibility to use PyGtkHexView class to edit string fields |
|---|
| 169 | that can't be converted to utf-8 string. This should close all bugs |
|---|
| 170 | related to the missing read/write hexview implementation. |
|---|
| 171 | |
|---|
| 172 | Fixed various bug and regression. |
|---|
| 173 | 80 columns line wrap fixed in various files. |
|---|
| 174 | |
|---|
| 175 | 2009-05-16 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 176 | |
|---|
| 177 | * PacketManipulator: |
|---|
| 178 | - Added --debug option to spawn a gdb session when the launcher is |
|---|
| 179 | started. |
|---|
| 180 | * PM/PacketManipulator: |
|---|
| 181 | - now we require pygtk >= 2.14 |
|---|
| 182 | * PM/Gui/Pages/SniffPage.py: |
|---|
| 183 | - 80 columns line wrap fixed. |
|---|
| 184 | - Created two differents treemode to store informations (gtk.ListStore |
|---|
| 185 | to improve the performance while sniffing, and gtk.TreeStore to have |
|---|
| 186 | the possibility to use the flow organizer) |
|---|
| 187 | * PM/Gui/Dialogs/Interface.py: |
|---|
| 188 | - 80 columns line wrap fixed. |
|---|
| 189 | - Added a new ComboBox to select the method to use for the SniffSession |
|---|
| 190 | - Set a tooltip to the pcap filter info button |
|---|
| 191 | - Fixed various alignment bugs. |
|---|
| 192 | * PM/Gui/Dialogs/Preferences.py: |
|---|
| 193 | - Adding a new 'Helpers' section letting the user choose the correct |
|---|
| 194 | path for tcpdump and dumpcap programs. |
|---|
| 195 | * PM/Backend/Scapy/Context/Sniff.py: |
|---|
| 196 | - Adding the possibility to use tcpdump/pcap or virtual interface for |
|---|
| 197 | sniffing to avoid performance problems or CPU burning as reported. |
|---|
| 198 | |
|---|
| 199 | These methods (tcpdump/dumpcap) should remove the risk of packet |
|---|
| 200 | loss also, but uses a temporary file created with tempfile.mktemp() |
|---|
| 201 | |
|---|
| 202 | In this case we use fcntl to set O_NONBLOCK to stderr pipe created |
|---|
| 203 | by the subprocess module. This code works on *NIX and *BSD systems |
|---|
| 204 | that offers select() over simple file descriptor. I should implement |
|---|
| 205 | the missing code for Windows system and use PeekNamedPipe. |
|---|
| 206 | - Implemented error propagation trough exit_from_thread() method |
|---|
| 207 | * PM/Backend/Scapy/Context/Static.py: |
|---|
| 208 | - Avoid a cumulative call to PacketList constructor to reduce memory |
|---|
| 209 | usage. |
|---|
| 210 | |
|---|
| 211 | Various bugfix. |
|---|
| 212 | |
|---|
| 213 | 2009-05-11 Francesco Piccinno <stack.box@gmail.com> |
|---|
| 214 | |
|---|
| 215 | Init ChangeLog. |
|---|