-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RTMPT packet error decode/slice/capture #26
Comments
Hi @niyetsin, This is because of the way Polymorph works, it is important that before reading the explanation I am going to make in this commentary, you understand what I answered in the issue that you quote in your message: #24 (comment) When we enter the Taking into account the function you have defined. Imagine that the This is the mechanics that polymorph uses, the first functions that are added should be to filter the packets that we are interested in modifying, with the Now we are going to interpret the results that it has provided to you. What polymorph is telling you in this image is that it has received 14 packets, of which 11 do not have the To test everything I write, try adding these two functions separately: def filter_rtmpt(packet):
try:
if packet["RTMPT"]["header.csid"] == 3:
print("RTMPT packet arrived!")
print("Executing next function...")
return packet
except:
print("Another packet arrived!")
print("Sending the packet to destination")
return None def print_string(packet):
try:
print("Captured", packet["RTMPT"]["string"])
return packet
except:
print("The RTMPT package does not have the string field")
return None The first function will take care of filtering the network packets of the RTMPT protocol and the second one will try to print on the screen the string field of these packets, if they have it. As I mentioned in the previous issue, if you have understood this concept, it is interesting to take a look at the wiki to understand other capabilities that polymorph has such as |
Hi @shramos
#24 I'm having a similar issue with the RTMP
By the time I try to use Polymorph with Nginx Server and VLC client to capture packets between them, I always get this capture structure from wireshark,
Wireshark
I'm not able to filter some packets using functions with strings, this means that, everytime that I want to filter them using a function like this one;
I get something like this as response:
As you can see from this image above, the function was able to found 15 packets with a header.csid = 3, the weird part of this, is that when I try to see those packets on wireshark I only get 5 of them;
In order to try fixing this issue, I changed the type of the field 'string' as bytes, Then I run the function again, and I got this;
I attached also the structure of the header.csid field:
If you need to try by yourself, I linked my repository that I'm using for the server and the client;
Github
Thanks in advance!
The text was updated successfully, but these errors were encountered: