Changeset 3500
- Timestamp:
- 08/17/08 13:20:57 (5 years ago)
- Location:
- branch/PacketManipulator
- Files:
-
- 1 added
- 5 modified
- 1 moved
-
PM/Backend/Scapy/packet.py (modified) (1 diff)
-
PM/Backend/UMPA (added)
-
PM/Backend/UMPA/__init__.py (moved) (moved from branch/PacketManipulator/PM/Backend/UMPA.py) (7 diffs)
-
PM/Gui/Core/FallbackPaned.py (modified) (1 diff)
-
PM/Gui/Tabs/ProtocolSelectorTab.py (modified) (1 diff)
-
PM/PacketManipulator (modified) (2 diffs)
-
PacketManipulator (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branch/PacketManipulator/PM/Backend/Scapy/packet.py
r3457 r3500 48 48 def summary(self): 49 49 return self.root.summary() 50 ret = ""51 for r in self.root:52 ret += self.root._elt2sum(r)53 return ret54 50 55 51 def get_time(self): -
branch/PacketManipulator/PM/Backend/UMPA/__init__.py
r3456 r3500 23 23 from umpa import protocols 24 24 from umpa.packets import Packet 25 from umpa.protocols import Protocol25 from umpa.protocols._protocols import Protocol 26 26 from umpa.protocols._fields import * 27 27 … … 62 62 return glob 63 63 64 gprotos = load_gprotocols() 65 66 ############################################################################### 67 # Protocols functions 68 ############################################################################### 64 69 def get_protocols(): 65 """66 @return a list of type [(Protocol, name)]67 """68 70 return gprotos 71 72 def get_proto_class_name(protok): 73 return protok.__name__ 74 75 def get_proto_name(proto_inst): 76 return get_proto_class_name(proto_inst.__class__) 69 77 70 78 def get_proto(proto_name): … … 80 88 return None 81 89 82 def get_proto_class_name(protok): 83 return protok.__name__ 84 85 def get_proto_name(proto_inst): 86 return get_proto_class_name(proto_inst.__class__) 87 88 # Fields section 90 def get_proto_layer(proto): 91 return proto.layer 92 93 def get_proto_fields(proto_inst): 94 return proto_inst.get_fields() 95 96 ############################################################################### 97 # Packet functions 98 ############################################################################### 99 100 def get_packet_protos(packet): 101 for proto in packet.root.protos: 102 yield proto 103 104 def get_packet_raw(metapack): 105 return metapack.root.get_raw() 106 107 ############################################################################### 108 # Fields functions 109 ############################################################################### 110 111 def get_field_desc(field): 112 return field.__doc__ 89 113 90 114 def get_field_name(field): … … 119 143 return field.bits 120 144 121 def get_field_offset(p roto, field):145 def get_field_offset(packet, proto, field): 122 146 return proto.get_offset(field) 123 147 … … 128 152 return [(v, k) for (k, v) in field.enumerable.items()] 129 153 154 def is_field_autofilled(field): 155 return field.auto 156 157 ############################################################################### 158 # Flag fields functions 159 ############################################################################### 160 161 def set_keyflag_value(proto, flag, key, value): 162 return flag.get()[key].set(value) 163 130 164 def get_keyflag_value(proto, flag, key): 131 165 return flag.get()[key].get() 132 133 def set_keyflag_value(proto, flag, key, value):134 return flag.get()[key].set(value)135 136 def is_field_autofilled(field):137 return field.auto138 139 def get_field_desc(field):140 return field.__doc__141 166 142 167 def get_flag_keys(flag_inst): … … 144 169 yield key 145 170 146 def get_field_key(proto_inst, field_inst): 147 for key in proto_inst.__class__.get_fields_keys(): 148 if field_inst == getattr(proto_inst, key, None): 149 return key 150 151 return None 152 153 def get_proto_fields(proto_inst): 154 return proto_inst.get_fields() 155 156 def get_packet_protos(packet): 157 for proto in packet.root.protos: 158 yield proto 159 160 def get_proto_layer(proto): 161 return proto.layer 162 163 def get_packet_raw(metapack): 164 return metapack.root.get_raw() 165 166 # Checking stuff 171 ############################################################################### 172 # Checking functions 173 ############################################################################### 167 174 168 175 def is_field(field): … … 178 185 return isinstance(obj, klass) 179 186 180 181 187 class MetaPacket: 182 188 def __init__(self, proto=None): 183 self.root = Packet(proto) 184 185 def include(self, proto): 186 self.root.include(proto) 187 188 from Backend import VirtualIFace 189 self.root = Packet(proto, strict=False) 190 191 def insert(self, proto, layer): 192 # Only append for the moment 193 if layer == -1: 194 self.root.include(proto.root.protos[0]) 195 return True 196 197 return False 198 199 def get_protocol_str(self): 200 return get_proto_name(self.root) 201 202 def summary(self): 203 # We need to ask for a method here 204 return "%s packet" % self.get_protocol_str() 205 206 def get_time(self): 207 # We need to ask for a method here 208 return "N/A" 209 210 def get_dest(self): 211 # We need to ask for a method here 212 return "N/A" 213 214 def get_source(self): 215 # We need to ask for a method here 216 return "N/A" 217 218 ############################################################################### 219 # Functions used by dialogs but not defined 220 ############################################################################### 189 221 190 222 def find_all_devs(): 191 "@return a list of avaiable devices to sniff from"192 223 return [] 193 194 195 gprotos = load_gprotocols()196 224 197 225 PMField = Field -
branch/PacketManipulator/PM/Gui/Core/FallbackPaned.py
r3499 r3500 72 72 label.show_all() 73 73 74 print "Adding widget", widget, "to", pos74 #print "Adding widget", widget, "to", pos 75 75 76 76 if pos == gtk.POS_RIGHT or pos == gtk.POS_LEFT: -
branch/PacketManipulator/PM/Gui/Tabs/ProtocolSelectorTab.py
r3457 r3500 48 48 self.__on_sort_ascending, 49 49 self.__on_sort_layer) 50 51 for stock, cb in zip(stocks, callbacks): 52 action = gtk.Action('', '', '', stock) 50 51 tooltips = (_('Sort descending'), 52 _('Sort ascending'), 53 _('Sort by layer')) 54 55 for tooltip, stock, cb in zip(tooltips, stocks, callbacks): 56 action = gtk.Action(None, None, tooltip, stock) 53 57 item = action.create_tool_item() 54 58 item.connect('clicked', cb) -
branch/PacketManipulator/PM/PacketManipulator
r3467 r3500 19 19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 20 21 import os 22 import sys 23 import signal 24 21 25 try: 26 if os.getenv('PM_DEVELOPMENT', False): 27 raise ImportError 28 22 29 import psyco 23 30 psyco.profile() … … 26 33 except ImportError: 27 34 print "No psyco no party! :(" 28 29 import os30 import sys31 import signal32 35 33 36 # used by exception hook -
branch/PacketManipulator/PacketManipulator
r3466 r3500 22 22 23 23 # Probably this won't work on win32 24 os.putenv('PM_DEVELOPMENT', '1') 24 25 os.putenv('PYTHONPATH', '%s%s%s' % (os.getcwd(), os.pathsep, os.getenv('PYTHONPATH', ''))) 25 26 os.system('PM/PacketManipulator')
