NetPro: Packet Analysis and Visualization tool

Have you created a useful tool? or Do you want to get help building one? This is the right place!
Forum rules
READ NOW: L2j Forums Rules of Conduct
Post Reply
User avatar
SaveGame
Posts: 121
Joined: Thu Oct 30, 2014 9:54 pm

Re: NetPro: Packet Analysis and Visualization tool

Post by SaveGame » Sun Nov 22, 2015 7:18 pm

Zealar wrote:Is working now :clap:
Few suggestion :
1) On left where packets appear is possible first box "C" "S" to be colored and maybe replaced with icon with arrow for in and out will be easy to read lines.
2) On same packets right button with menu for disable them from show.
3) Same menu but to faster add it for send.
3) On right where packets decrypt will be good icons to got mouse over with short info what symbol mean. (or all that added in button > Help section"
4) Console is ok but will be errors to show it on other tab for not scroll it each time to see if something happen. With all in same color is hard to read. But guess cannot be colored so new tab sound faster solution.

:+1:
1. I'd say shading whole rows differently based on whether it is a client or server packet is a thing that could work well here.
Arrows are tough. Up/Down would kinda make sense, but they don't exactly look in place within a table (as they would inadvertently point to the row above/below). Left/Right doesn't really imply anything about which is 'incoming' and which is 'outgoing'.
2. Yeah, missing context menu(s) are inconvenient. I'll see if I can also think about something else to add there (besides obvious 'copy as plaintext/copy as XML/copy as hex octets' choices)
3. Can be done. I'm also thinking about adding dynamic tab support to packet builder dialog to allow chained injects or something. We will see.
3 (yes, there are two 3)'s above). I'll investigate if such tooltips are possible. Once again, 2.0
4. Perfectly possible, but error reporting still needs better UI integration, which I am going to re-evaluate when working on 2.0

Thanks for the feedback :mrgreen:
Image

Sacrifice
Advanced User
Advanced User
Posts: 1025
Joined: Thu Aug 14, 2014 6:31 am
Location: Spain

Re: NetPro: Packet Analysis and Visualization tool

Post by Sacrifice » Tue Nov 24, 2015 11:01 pm

8)
Last edited by Sacrifice on Thu Feb 04, 2016 11:16 am, edited 1 time in total.
Retail GameMaster and Developer using Eclipse for Java Developers (64 bits), OpenJDK14 (64 bits), MySQL 8.0+ (64 bits).

User avatar
UnAfraid
L2j Veteran
L2j Veteran
Posts: 4199
Joined: Mon Jul 23, 2007 4:25 pm
Location: Bulgaria
Contact:

Re: NetPro: Packet Analysis and Visualization tool

Post by UnAfraid » Thu Nov 26, 2015 12:19 am

BTW you could wrap the jar into exe with mainfest to require administrative rights and NetPro itself could modify hosts to make client to connect to it as long as it is up or with some button as u do :)
Image

User avatar
Sdw
L2j Veteran
L2j Veteran
Posts: 855
Joined: Mon May 03, 2010 8:38 am
Location: France

Re: NetPro: Packet Analysis and Visualization tool

Post by Sdw » Thu Nov 26, 2015 2:53 am

Staph bragging :problem:

User avatar
SaveGame
Posts: 121
Joined: Thu Oct 30, 2014 9:54 pm

Re: NetPro: Packet Analysis and Visualization tool

Post by SaveGame » Thu Nov 26, 2015 7:54 am

UnAfraid wrote:BTW you could wrap the jar into exe with mainfest to require administrative rights and NetPro itself could modify hosts to make client to connect to it as long as it is up or with some button as u do :)
In this case, wouldn't it simply be better to just add (optional) active connection interception capabilities? After all, hosts can only specify IP resolutions, and some servers (e.g. Korea) use an IP address instead of a hostname. Plus, if you have more than a pair of login servers you want to connect to during the session, you are pretty much guaranteed to need different ports.

Of course, interception would mean game server connection interception, to avoid all the hassle.
Image

modnar
Posts: 1
Joined: Wed Dec 02, 2015 11:19 am

Re: NetPro: Packet Analysis and Visualization tool

Post by modnar » Wed Dec 02, 2015 11:21 am

Issue with "PledgeShowInfoUpdate (0x8e)" for "Underground"

Looks like they've changed the packet, They do include the Server Id now some where at the beginning of the packet?

Thanks.

User avatar
SaveGame
Posts: 121
Joined: Thu Oct 30, 2014 9:54 pm

Re: NetPro: Packet Analysis and Visualization tool

Post by SaveGame » Wed Dec 02, 2015 12:08 pm

I see no issue with that packet on NA, there have been no changes since IO.
Image

vteme777
Posts: 1
Joined: Sat Jan 09, 2016 1:17 am

Re: NetPro: Packet Analysis and Visualization tool

Post by vteme777 » Sat Jan 09, 2016 1:20 am

I need help. Cannot connect my program to the server . here for example 77.25.35.704 ip and port 7778, where do I register to receive packets ?

User avatar
Zealar
L2j Veteran
L2j Veteran
Posts: 1236
Joined: Sun Jul 15, 2007 10:29 am

Re: NetPro: Packet Analysis and Visualization tool

Post by Zealar » Thu Jan 14, 2016 11:52 pm

Bugreport : Seems netpro got problems when sniff html.
1) Format get lose
2) Skip some sybols or elements
l2phx

Code: Select all

         <tr>
            <td > <a action="bypass _agitbidlist_29_2_4"> > </a> </td>
         </tr>
NetPro

Code: Select all

         <tr>
            <td > <a action="bypass _agitbidlist_29_2_4"> >
               </a> 
            </td>
         </tr>
3) Is hard to copy text.
4) If use right button copy to clipboard no matter what is selected get as result that "string__1"

User avatar
SaveGame
Posts: 121
Joined: Thu Oct 30, 2014 9:54 pm

Re: NetPro: Packet Analysis and Visualization tool

Post by SaveGame » Fri Jan 15, 2016 10:20 am

Zealar wrote: l2phx

Code: Select all

         <tr>
            <td > <a action="bypass _agitbidlist_29_2_4"> > </a> </td>
         </tr>
NetPro

Code: Select all

         <tr>
            <td > <a action="bypass _agitbidlist_29_2_4"> >
               </a> 
            </td>
         </tr>
Strange that the greater sign is unescaped, that really should not be happening. Same about additional newlines. Have you checked the actual bytes? What do they correspond to?

As far as copying is concerned, yes, the links make selection hard, and context menu only allows to copy links and not actual content, which is why you are getting these synthetics. This is an old approach, back from swing's rich text area, there likely are better options in JFX. Consider simply selecting the packet in the packet list and doing ctrl+c, then pasting the content to notepad and taking what you need.
Image

User avatar
Zealar
L2j Veteran
L2j Veteran
Posts: 1236
Joined: Sun Jul 15, 2007 10:29 am

Re: NetPro: Packet Analysis and Visualization tool

Post by Zealar » Sun Jan 17, 2016 1:32 pm

Well some updates on last report.
Seems both NetPro na L2Phx sniff same bytes but when come to translate them ...

L2Phx

Code: Select all

Type:0x19 (NpcHtmlMessage)
Size: 1545+2
Recive time: 11:00:00:904
0002 d  objID: 1209023257 (0x48103B19)
0006 s  HTML: <html><body>




<center>List of Bidding Clans</center>
<img src="L2UI.SquareWhite" width=270 height=1>

<table width=270 border=0 bgcolor="000000">
<tr>
<td width=100 align=center>Clan</td>
<td width=100 align=center>Bidding clan</td>
<td width=70 align=center>Time of bid</td>
</tr>
</table>


<table border=0><tr><td > <a action="bypass _agitbidlist_29_2_4"> > </a> </td> </tr></table>&nbsp;


<img src="L2UI.SquareWhite" width=270 height=1> <img src="L2UI.SquareBlank" width=270 height=5>
<table width=270 border=0>
<tr>
<td width=210></td>
<td width=70 align=center><button action="bypass _agitaucinfo_29" value="Back" width=80 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>

</body></html>
0606 d  itemID: 0 (0x00000000)
 
NetPro

Code: Select all

Received on: 11:02:44.529 



NPC OID: Auctioneer [NPC] (1209023257)

Message: <html><body> <center>List of Bidding Clans</center> <img src="L2UI.SquareWhite" width=270 height=1> <table width=270 border=0 bgcolor="000000"> <tr> <td width=100 align=center>Clan</td> <td width=100 align=center>Bidding clan</td> <td width=70 align=center>Time of bid</td> </tr> </table> <table border=0><tr><td > <a action="bypass _agitbidlist_29_2_4"> > </a> </td> </tr></table>  <img src="L2UI.SquareWhite" width=270 height=1> <img src="L2UI.SquareBlank" width=270 height=5> <table width=270 border=0> <tr> <td width=210></td> <td width=70 align=center><button action="bypass _agitaucinfo_29" value="Back" width=80 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td> </tr> </table> </body></html>
Title: None (0)
Actual bytes with some extra translate added. Easy can be see some chars is skipped.

Code: Select all

19:
19:
3B:;
10:
48:H
3C:<
00: 
68:h
00: 
74:t
00: 
6D:m
00: 
6C:l
00: 
3E:>
00: 
3C:<
00: 
62:b
00: 
6F:o
00: 
64:d
00: 
79:y
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
4C:L
00: 
69:i
00: 
73:s
00: 
74:t
00: 
20: 
00: 
6F:o
00: 
66:f
00: 
20: 
00: 
42:B
00: 
69:i
00: 
64:d
00: 
64:d
00: 
69:i
00: 
6E:n
00: 
67:g
00: 
20: 
00: 
43:C
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
73:s
00: 
3C:<
00: 
2F:/
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
69:i
00: 
6D:m
00: 
67:g
00: 
20: 
00: 
73:s
00: 
72:r
00: 
63:c
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
2E:.
00: 
53:S
00: 
71:q
00: 
75:u
00: 
61:a
00: 
72:r
00: 
65:e
00: 
57:W
00: 
68:h
00: 
69:i
00: 
74:t
00: 
65:e
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
31:1
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
62:b
00: 
6F:o
00: 
72:r
00: 
64:d
00: 
65:e
00: 
72:r
00: 
3D:=
00: 
30:0
00: 
20: 
00: 
62:b
00: 
67:g
00: 
63:c
00: 
6F:o
00: 
6C:l
00: 
6F:o
00: 
72:r
00: 
3D:=
00: 
22:"
00: 
30:0
00: 
30:0
00: 
30:0
00: 
30:0
00: 
30:0
00: 
30:0
00: 
22:"
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
31:1
00: 
30:0
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
43:C
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
31:1
00: 
30:0
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
42:B
00: 
69:i
00: 
64:d
00: 
64:d
00: 
69:i
00: 
6E:n
00: 
67:g
00: 
20: 
00: 
63:c
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
37:7
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
54:T
00: 
69:i
00: 
6D:m
00: 
65:e
00: 
20: 
00: 
6F:o
00: 
66:f
00: 
20: 
00: 
62:b
00: 
69:i
00: 
64:d
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
20: 
00: 
62:b
00: 
6F:o
00: 
72:r
00: 
64:d
00: 
65:e
00: 
72:r
00: 
3D:=
00: 
30:0
00: 
3E:>
00: 
3C:<
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
61:a
00: 
20: 
00: 
61:a
00: 
63:c
00: 
74:t
00: 
69:i
00: 
6F:o
00: 
6E:n
00: 
3D:=
00: 
22:"
00: 
62:b
00: 
79:y
00: 
70:p
00: 
61:a
00: 
73:s
00: 
73:s
00: 
20: 
00: 
5F:_
00: 
61:a
00: 
67:g
00: 
69:i
00: 
74:t
00: 
62:b
00: 
69:i
00: 
64:d
00: 
6C:l
00: 
69:i
00: 
73:s
00: 
74:t
00: 
5F:_
00: 
32:2
00: 
39:9
00: 
5F:_
00: 
32:2
00: 
5F:_
00: 
34:4
00: 
22:"
00: 
3E:>
00: 
20: 
00: 
26:&
00: 
67:g
00: 
74:t
00: 
3B:;
00: 
20: 
00: 
3C:<
00: 
2F:/
00: 
61:a
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
3E:>
00: 
26:&
00: 
6E:n
00: 
62:b
00: 
73:s
00: 
70:p
00: 
3B:;
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
69:i
00: 
6D:m
00: 
67:g
00: 
20: 
00: 
73:s
00: 
72:r
00: 
63:c
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
2E:.
00: 
53:S
00: 
71:q
00: 
75:u
00: 
61:a
00: 
72:r
00: 
65:e
00: 
57:W
00: 
68:h
00: 
69:i
00: 
74:t
00: 
65:e
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
31:1
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
69:i
00: 
6D:m
00: 
67:g
00: 
20: 
00: 
73:s
00: 
72:r
00: 
63:c
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
2E:.
00: 
53:S
00: 
71:q
00: 
75:u
00: 
61:a
00: 
72:r
00: 
65:e
00: 
42:B
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
6B:k
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
35:5
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
62:b
00: 
6F:o
00: 
72:r
00: 
64:d
00: 
65:e
00: 
72:r
00: 
3D:=
00: 
30:0
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
31:1
00: 
30:0
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
37:7
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
3C:<
00: 
62:b
00: 
75:u
00: 
74:t
00: 
74:t
00: 
6F:o
00: 
6E:n
00: 
20: 
00: 
61:a
00: 
63:c
00: 
74:t
00: 
69:i
00: 
6F:o
00: 
6E:n
00: 
3D:=
00: 
22:"
00: 
62:b
00: 
79:y
00: 
70:p
00: 
61:a
00: 
73:s
00: 
73:s
00: 
20: 
00: 
5F:_
00: 
61:a
00: 
67:g
00: 
69:i
00: 
74:t
00: 
61:a
00: 
75:u
00: 
63:c
00: 
69:i
00: 
6E:n
00: 
66:f
00: 
6F:o
00: 
5F:_
00: 
32:2
00: 
39:9
00: 
22:"
00: 
20: 
00: 
76:v
00: 
61:a
00: 
6C:l
00: 
75:u
00: 
65:e
00: 
3D:=
00: 
22:"
00: 
42:B
00: 
61:a
00: 
63:c
00: 
6B:k
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
38:8
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
20: 
00: 
62:b
00: 
61:a
00: 
63:c
00: 
6B:k
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
5F:_
00: 
43:C
00: 
54:T
00: 
31:1
00: 
2E:.
00: 
42:B
00: 
75:u
00: 
74:t
00: 
74:t
00: 
6F:o
00: 
6E:n
00: 
5F:_
00: 
44:D
00: 
46:F
00: 
5F:_
00: 
44:D
00: 
6F:o
00: 
77:w
00: 
6E:n
00: 
22:"
00: 
20: 
00: 
66:f
00: 
6F:o
00: 
72:r
00: 
65:e
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
5F:_
00: 
43:C
00: 
54:T
00: 
31:1
00: 
2E:.
00: 
42:B
00: 
75:u
00: 
74:t
00: 
74:t
00: 
6F:o
00: 
6E:n
00: 
5F:_
00: 
44:D
00: 
46:F
00: 
22:"
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
62:b
00: 
6F:o
00: 
64:d
00: 
79:y
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
68:h
00: 
74:t
00: 
6D:m
00: 
6C:l
00: 
3E:>
00: 
00: 
00: 
00: 
00: 
00: 
00: 

User avatar
SaveGame
Posts: 121
Joined: Thu Oct 30, 2014 9:54 pm

Re: NetPro: Packet Analysis and Visualization tool

Post by SaveGame » Sun Jan 17, 2016 2:51 pm

Zealar wrote:Well some updates on last report.
Seems both NetPro na L2Phx sniff same bytes but when come to translate them ...

L2Phx

Code: Select all

Type:0x19 (NpcHtmlMessage)
Size: 1545+2
Recive time: 11:00:00:904
0002 d  objID: 1209023257 (0x48103B19)
0006 s  HTML: <html><body>




<center>List of Bidding Clans</center>
<img src="L2UI.SquareWhite" width=270 height=1>

<table width=270 border=0 bgcolor="000000">
<tr>
<td width=100 align=center>Clan</td>
<td width=100 align=center>Bidding clan</td>
<td width=70 align=center>Time of bid</td>
</tr>
</table>


<table border=0><tr><td > <a action="bypass _agitbidlist_29_2_4"> > </a> </td> </tr></table>&nbsp;


<img src="L2UI.SquareWhite" width=270 height=1> <img src="L2UI.SquareBlank" width=270 height=5>
<table width=270 border=0>
<tr>
<td width=210></td>
<td width=70 align=center><button action="bypass _agitaucinfo_29" value="Back" width=80 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>

</body></html>
0606 d  itemID: 0 (0x00000000)
 
NetPro

Code: Select all

Received on: 11:02:44.529 



NPC OID: Auctioneer [NPC] (1209023257)

Message: <html><body> <center>List of Bidding Clans</center> <img src="L2UI.SquareWhite" width=270 height=1> <table width=270 border=0 bgcolor="000000"> <tr> <td width=100 align=center>Clan</td> <td width=100 align=center>Bidding clan</td> <td width=70 align=center>Time of bid</td> </tr> </table> <table border=0><tr><td > <a action="bypass _agitbidlist_29_2_4"> > </a> </td> </tr></table>  <img src="L2UI.SquareWhite" width=270 height=1> <img src="L2UI.SquareBlank" width=270 height=5> <table width=270 border=0> <tr> <td width=210></td> <td width=70 align=center><button action="bypass _agitaucinfo_29" value="Back" width=80 height=27 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td> </tr> </table> </body></html>
Title: None (0)
Actual bytes with some extra translate added. Easy can be see some chars is skipped.

Code: Select all

19:
19:
3B:;
10:
48:H
3C:<
00: 
68:h
00: 
74:t
00: 
6D:m
00: 
6C:l
00: 
3E:>
00: 
3C:<
00: 
62:b
00: 
6F:o
00: 
64:d
00: 
79:y
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
4C:L
00: 
69:i
00: 
73:s
00: 
74:t
00: 
20: 
00: 
6F:o
00: 
66:f
00: 
20: 
00: 
42:B
00: 
69:i
00: 
64:d
00: 
64:d
00: 
69:i
00: 
6E:n
00: 
67:g
00: 
20: 
00: 
43:C
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
73:s
00: 
3C:<
00: 
2F:/
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
69:i
00: 
6D:m
00: 
67:g
00: 
20: 
00: 
73:s
00: 
72:r
00: 
63:c
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
2E:.
00: 
53:S
00: 
71:q
00: 
75:u
00: 
61:a
00: 
72:r
00: 
65:e
00: 
57:W
00: 
68:h
00: 
69:i
00: 
74:t
00: 
65:e
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
31:1
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
62:b
00: 
6F:o
00: 
72:r
00: 
64:d
00: 
65:e
00: 
72:r
00: 
3D:=
00: 
30:0
00: 
20: 
00: 
62:b
00: 
67:g
00: 
63:c
00: 
6F:o
00: 
6C:l
00: 
6F:o
00: 
72:r
00: 
3D:=
00: 
22:"
00: 
30:0
00: 
30:0
00: 
30:0
00: 
30:0
00: 
30:0
00: 
30:0
00: 
22:"
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
31:1
00: 
30:0
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
43:C
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
31:1
00: 
30:0
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
42:B
00: 
69:i
00: 
64:d
00: 
64:d
00: 
69:i
00: 
6E:n
00: 
67:g
00: 
20: 
00: 
63:c
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
37:7
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
54:T
00: 
69:i
00: 
6D:m
00: 
65:e
00: 
20: 
00: 
6F:o
00: 
66:f
00: 
20: 
00: 
62:b
00: 
69:i
00: 
64:d
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
20: 
00: 
62:b
00: 
6F:o
00: 
72:r
00: 
64:d
00: 
65:e
00: 
72:r
00: 
3D:=
00: 
30:0
00: 
3E:>
00: 
3C:<
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
61:a
00: 
20: 
00: 
61:a
00: 
63:c
00: 
74:t
00: 
69:i
00: 
6F:o
00: 
6E:n
00: 
3D:=
00: 
22:"
00: 
62:b
00: 
79:y
00: 
70:p
00: 
61:a
00: 
73:s
00: 
73:s
00: 
20: 
00: 
5F:_
00: 
61:a
00: 
67:g
00: 
69:i
00: 
74:t
00: 
62:b
00: 
69:i
00: 
64:d
00: 
6C:l
00: 
69:i
00: 
73:s
00: 
74:t
00: 
5F:_
00: 
32:2
00: 
39:9
00: 
5F:_
00: 
32:2
00: 
5F:_
00: 
34:4
00: 
22:"
00: 
3E:>
00: 
20: 
00: 
26:&
00: 
67:g
00: 
74:t
00: 
3B:;
00: 
20: 
00: 
3C:<
00: 
2F:/
00: 
61:a
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
3E:>
00: 
26:&
00: 
6E:n
00: 
62:b
00: 
73:s
00: 
70:p
00: 
3B:;
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
69:i
00: 
6D:m
00: 
67:g
00: 
20: 
00: 
73:s
00: 
72:r
00: 
63:c
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
2E:.
00: 
53:S
00: 
71:q
00: 
75:u
00: 
61:a
00: 
72:r
00: 
65:e
00: 
57:W
00: 
68:h
00: 
69:i
00: 
74:t
00: 
65:e
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
31:1
00: 
3E:>
00: 
20: 
00: 
3C:<
00: 
69:i
00: 
6D:m
00: 
67:g
00: 
20: 
00: 
73:s
00: 
72:r
00: 
63:c
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
2E:.
00: 
53:S
00: 
71:q
00: 
75:u
00: 
61:a
00: 
72:r
00: 
65:e
00: 
42:B
00: 
6C:l
00: 
61:a
00: 
6E:n
00: 
6B:k
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
35:5
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
30:0
00: 
20: 
00: 
62:b
00: 
6F:o
00: 
72:r
00: 
64:d
00: 
65:e
00: 
72:r
00: 
3D:=
00: 
30:0
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
32:2
00: 
31:1
00: 
30:0
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
74:t
00: 
64:d
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
37:7
00: 
30:0
00: 
20: 
00: 
61:a
00: 
6C:l
00: 
69:i
00: 
67:g
00: 
6E:n
00: 
3D:=
00: 
63:c
00: 
65:e
00: 
6E:n
00: 
74:t
00: 
65:e
00: 
72:r
00: 
3E:>
00: 
3C:<
00: 
62:b
00: 
75:u
00: 
74:t
00: 
74:t
00: 
6F:o
00: 
6E:n
00: 
20: 
00: 
61:a
00: 
63:c
00: 
74:t
00: 
69:i
00: 
6F:o
00: 
6E:n
00: 
3D:=
00: 
22:"
00: 
62:b
00: 
79:y
00: 
70:p
00: 
61:a
00: 
73:s
00: 
73:s
00: 
20: 
00: 
5F:_
00: 
61:a
00: 
67:g
00: 
69:i
00: 
74:t
00: 
61:a
00: 
75:u
00: 
63:c
00: 
69:i
00: 
6E:n
00: 
66:f
00: 
6F:o
00: 
5F:_
00: 
32:2
00: 
39:9
00: 
22:"
00: 
20: 
00: 
76:v
00: 
61:a
00: 
6C:l
00: 
75:u
00: 
65:e
00: 
3D:=
00: 
22:"
00: 
42:B
00: 
61:a
00: 
63:c
00: 
6B:k
00: 
22:"
00: 
20: 
00: 
77:w
00: 
69:i
00: 
64:d
00: 
74:t
00: 
68:h
00: 
3D:=
00: 
38:8
00: 
30:0
00: 
20: 
00: 
68:h
00: 
65:e
00: 
69:i
00: 
67:g
00: 
68:h
00: 
74:t
00: 
3D:=
00: 
32:2
00: 
37:7
00: 
20: 
00: 
62:b
00: 
61:a
00: 
63:c
00: 
6B:k
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
5F:_
00: 
43:C
00: 
54:T
00: 
31:1
00: 
2E:.
00: 
42:B
00: 
75:u
00: 
74:t
00: 
74:t
00: 
6F:o
00: 
6E:n
00: 
5F:_
00: 
44:D
00: 
46:F
00: 
5F:_
00: 
44:D
00: 
6F:o
00: 
77:w
00: 
6E:n
00: 
22:"
00: 
20: 
00: 
66:f
00: 
6F:o
00: 
72:r
00: 
65:e
00: 
3D:=
00: 
22:"
00: 
4C:L
00: 
32:2
00: 
55:U
00: 
49:I
00: 
5F:_
00: 
43:C
00: 
54:T
00: 
31:1
00: 
2E:.
00: 
42:B
00: 
75:u
00: 
74:t
00: 
74:t
00: 
6F:o
00: 
6E:n
00: 
5F:_
00: 
44:D
00: 
46:F
00: 
22:"
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
64:d
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
72:r
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
74:t
00: 
61:a
00: 
62:b
00: 
6C:l
00: 
65:e
00: 
3E:>
00: 
0D: \r
00: 
0A: \n
00: 
0D: \r
00: 
0A: \n
00: 
3C:<
00: 
2F:/
00: 
62:b
00: 
6F:o
00: 
64:d
00: 
79:y
00: 
3E:>
00: 
3C:<
00: 
2F:/
00: 
68:h
00: 
74:t
00: 
6D:m
00: 
6C:l
00: 
3E:>
00: 
00: 
00: 
00: 
00: 
00: 
00: 
I see, will need to change PreformattedHTML interpreter to adapt all the newlines for WebView and also to take a look at escaped character handling.
Image

User avatar
Zealar
L2j Veteran
L2j Veteran
Posts: 1236
Joined: Sun Jul 15, 2007 10:29 am

Re: NetPro: Packet Analysis and Visualization tool

Post by Zealar » Sun Jan 17, 2016 3:09 pm

SaveGame wrote: I see, will need to change PreformattedHTML interpreter to adapt all the newlines for WebView and also to take a look at escaped character handling.
Thx for your work. :+1:

impos89
Posts: 41
Joined: Sat Apr 26, 2008 6:54 am
Location: Poland

Re: NetPro: Packet Analysis and Visualization tool

Post by impos89 » Thu Feb 04, 2016 12:32 am

Hello,
I'm experimenting with *.pcap (wireshark) format. I've implemented a new PcapLogLoadTask and it went smoothly. Packets are now parsed and loaded. I've noticed that all packets are automatically stored in cached list. I did a little review and I've founded a deep and dark place where the packet is not added to displayed list.
Both lists are checked if any contains specified packet template. However there's no place in sources where the template could be added.
Now I'm stuck on it and I have no idea what should I do to force packets to be displayed on the list in GUI.

Code: Select all

From PacketListModel:
private void addPacket(PacketListEntry e, boolean fire)
{
	final ReceivedPacket packet = e.getPacket();
	
	final Set<IPacketTemplate> config = packet.getEndpoint().isClient() ? _showFromClient : _showFromServer; // <-- config will always be empty
			
	final IPacketTemplate pt = VersionnedPacketTable.getInstance().getTemplate(_owner.getProtocol(), packet.getEndpoint(), packet.getBody());
	if (!config.contains(pt.isDefined() ? pt : IPacketTemplate.ANY_DYNAMIC_PACKET)) 
	return;

			final int idx = _displayed.size();
			_displayed.add(e); // <-- I want this happen 
		}
		//skipped

Can you give me a little advice where I can find the answer ?

User avatar
SaveGame
Posts: 121
Joined: Thu Oct 30, 2014 9:54 pm

Re: NetPro: Packet Analysis and Visualization tool

Post by SaveGame » Thu Feb 04, 2016 7:49 am

What protocol do you specify for the newly added tab? I don't really remember, but it might be that a completely empty set might be used for protocols that aren't loaded from all_known_protocols.xml (not listed in [menu bar] Packets -> Configure display).
If you are extracting the protocol revision from the first packet, then it might be a good idea to debug and check if endianness is correct and you are getting the correct number, which you would later use to retrieve an actual protocol version from ProtocolVersionManager.
In any case, PVM should always generate a version that defaults to the newest known protocol when display configuration is needed, so it is strange that it's empty.

Alternatively, check the protocol and display configuration shown at the bottom:
Image
Perhaps the protocol is valid, but the display configuration has all packets disabled?

I hope this clears at least some of the things up.
Image

Post Reply