Last
 Summer as a part of an internship at DRDO (Defense Research and 
Development Organisation) I was asked to go through their custom 
networking protocol. So that they could improve the protocol handling 
and how the application handled. Since they needed a quick fix and I 
used LUA scripts to write a custom dissector for them. They were happy 
with the result. But the in the end I realized they wanted to open the 
packet edit the data within wireshark, compare it with other protocols 
they were using.
I
 agree with the fact there is a Packet Viewer but it’s not editable. But
 if there is a UI where the packets can be manipulated by applying data 
changes or designing a dissector with the existing packets. LUA is 
powerful and if the UI is setup to create the dissector without using an
 IDE or  at least eventually. If the reboot is given from within the UI 
we can resume the Packet Editor session when wireshark restarts.
I
 was thinking the Packet Editor should be able to display the packet 
data to the user in the mode he desires. Like if the user wants to see 
the packet in hex, then a specific part in decimal. Or to have the 
headers applied and not applied on the packet. In the following is a 
rough idea of what I mean.
| 
 Headers 
 | Data 1 
 | Data 2 
 | Data 3 
 | 
<headername 1> 
 | <data>
  | 
<data>
  | 
<data>
  | 
<headername 1> 
 | <data>
  | 
<data>
  | 
<data>
  | 
<data_payload> 
 | <data>
  | 
<data>
  | 
<data>
  | 
 
Initially
 when a packet is opened it is already filtered by the headers 
IP,UDP,etc. This editor can display the data in a way comfortable to add
 custom headers (using dissectors) and temporarily apply and see the 
payload. Once the packet is modified to user requirement, the user can 
apply listeners to send the required data to the applications to analyse
 the data.
When
 I mentioned that the editor can exist on its own I meant the UI can be 
used wherever in wireshark to view packets like when designing 
dissectors, applying filter, or any kind of packet manipulation.