4G NAS Deciphering - encryption

How do I use python CryptoMobile module for deciphering NAS messages with encryption based on EIA1 Snow3G algorithm?
There is a function EIA() but I don't know how to find it's parameters from the given wireshark log. What I need to do is decipher NAS messages in a .pcap file. P.s. I am a fresher so it's all very new for me. Thanks

Related

textfsm.parser.TextFSMError: State Error raised

I am still leaning python and Nornir for network automation as a network engineer.
I am scripting to find any BGP issue from multiple devices with Nornir using "TextFSM".
The python with nornir works correctly without "TextFSM.
I get an error message when TextFSM is used for parsing.
I searched and spent time a lot to find the reason of this issue.
Half of the network devices I am managing has the issue with "TextFSM" at present.
Could you please advise me where I can start to fix this issue?
Thank you.
I get the output with netmiko like below
output = net_connect.send_command('show ip bgp summary')
Here is the output of "print(repr(output))

Windows application TCP payload (md5) Possible to replicate?

been searching for hours, but can't solve it. I am trying to replicate a packet sent by a windows application to speed up a task however I cannot understand the payload structure for the server to accept it.
I attached an image below. Is there any way to see what structure I'm sending the data- so I can replicate with new info and encrypt to md5
New to this and Wireshark. I appreciate any guidance I could get.
Or to be told it's not possible.
Take care, thanks in advance.

Forcing a signal on an interface (RS-232)

Firstly, this may be a stupid question or one that has been asked before but I am not quite sure how to google it.
I try to learn a bit about using modbus to communicate over serial interfaces and I have trouble understanding the mechanic of getting your signal on the wire/connection. I do unterstand how protocols (e.g. Modbus) encode and decode their Data. I'm interested in the process of getting your bitcode through the interface (preferably rs232) to the other machine.
In other words: How can I write a piece of code myself (no libraries etc. I want to learn how to do it) where I can input a couple of binary numbers and maybe the baudrate so that another device with a working modbus driver can receive it via direct cable connection.
If the matter is too complicated for an answer here, I'd be happy to get a link to some resources to teach myself as well. Or even some help for the right search terms.

Best general-purpose message format for SOA?

If I have a bunch of servers (eventually groups of servers), each being a different service (SOA), and I want them to be able to:
Send requests, receive responses via TCP over a high-throughput, low-latency, unmetered network.
Use a common message format that:
Is fast to encode and decode/parse
Supports lists and binary strings
Won't necessarily require updating all services at once (e.g. adding a field should not prevent the outdated services from reading the message and picking out all of the fields they are expecting)
Which format would you guys recommend? I'm currently looking into encoding messages as BSON, but would like to hear some suggestions.
Thanks :-)
Thanks to #Radu's comment for this answer.
MessagePack
Google's Protocol Buffers
Thrift
are all great options. More info here.

Accessing half-duplex serial port with POSIX

I'm asked to read from and write to a half-duplex serial connection using POSIX calls (more specifically, writing in C on Linux 2.6.x). I'm having slight troubles finding detailed information on that particular model (most pages concentrate on full-duplex) and as I am getting slight anomalies when reading, I wanted to check whether maybe I am doing something wrong here.
With a half-duplex serial connection, I can only read or write. This is not a problem, as there is no unsolicited incoming data on the line - the only time any packages are sent to me (for reading) is when I asked for them beforehand.
So what my code does is to write() to the port whenever something needs to be sent. Should this data result in a response (something I know beforehand), I simply read(). There are no special functions I am calling - but maybe I should? And is this approach correct? I.e. write when the line is free?
I would read the Linux kernel source documentation, there may be a text file about the serial driver; if not, you could read through the actual driver code to see what it does (it's not as scary as it sounds, I promise!)

Resources