Is it possible, via a TCP packet, to transmit information about devices, such as, for example, RAM, video card, processor, etc.
Yes of course. for example, using the netcat program:
$ while :; do echo 'ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ' | nc -l 12345; done
Now the program will listen to the tcp port number 12345 on all interfaces and provide the specified information in response to the connection.
You can get this information from another machine. for example, using the same netcat program:
$ nc ip-Π°Π΄ΡΠ΅Ρ-ΠΈΠ»ΠΈ-ΠΈΠΌΡ-ΠΏΠ΅ΡΠ²ΠΎΠΉ-ΠΌΠ°ΡΠΈΠ½Ρ 12345 ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
or using any web client (browser including):
$ curl http://ip-Π°Π΄ΡΠ΅Ρ-ΠΈΠ»ΠΈ-ΠΈΠΌΡ-ΠΏΠ΅ΡΠ²ΠΎΠΉ-ΠΌΠ°ΡΠΈΠ½Ρ:12345 ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
Of course, the echo 'ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ' command can be replaced with any other one that returns something useful to stdout . for example, lspci , or a whole set of commands (then they need to be enclosed in curly braces to form a single stream of stdout ):
$ while :; do { lspci; cat /proc/meminfo; cat /proc/cpuinfo; } | nc -l 12345; done
and, of course, you can see the contents of the packets received by your machine, for example, using wireshark .