Compare commits
3 Commits
eb01334c91
...
f19fefe41d
Author | SHA1 | Date | |
---|---|---|---|
|
f19fefe41d | ||
|
2d3bd8ed8b | ||
|
e4a3917481 |
9
.gitignore
vendored
9
.gitignore
vendored
@ -24,6 +24,15 @@ code/no-op
|
|||||||
code/get-signal
|
code/get-signal
|
||||||
code/fifo-tx
|
code/fifo-tx
|
||||||
code/fifo-rx
|
code/fifo-rx
|
||||||
|
code/send-osc
|
||||||
|
code/listen-osc
|
||||||
code/plugiciel.so
|
code/plugiciel.so
|
||||||
code/appelant
|
code/appelant
|
||||||
|
code/flydraw.png
|
||||||
|
code/flydraw.gif
|
||||||
|
|
||||||
|
|
||||||
|
A
|
||||||
|
|
||||||
|
D
|
||||||
|
code/flydraw.gif
|
||||||
|
58
chap/OSC.tex
58
chap/OSC.tex
@ -19,7 +19,25 @@ allons voir maintenant.
|
|||||||
\section{oscdump \& oscsend}
|
\section{oscdump \& oscsend}
|
||||||
\index{oscdump}\index{oscsend}
|
\index{oscdump}\index{oscsend}
|
||||||
|
|
||||||
Ecouter :
|
|
||||||
|
\textbf{Envoyer :}
|
||||||
|
|
||||||
|
Pour envoyer, il faut bien définir une destination. Une fois
|
||||||
|
de plus, le couple IP adresse/port est utilisé. Ce sont les
|
||||||
|
deux premiers paramètres.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
tth@debian:~$ oscsend localhost 1664 /tmp/kmem is 61 'meg, efface !'
|
||||||
|
tth@debian:~$
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
La chaine \texttt{is} que vous voyez dans la ligne de commande
|
||||||
|
décrit le type des paramètres qui suivent~:
|
||||||
|
\texttt{i} est pour un integer et \texttt{s} pour une
|
||||||
|
chaine (notez les simples quotes pour passer les caractères
|
||||||
|
speciaux du shell).
|
||||||
|
|
||||||
|
\textbf{Ecouter :}
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
tth@debian:~$ oscdump 1664
|
tth@debian:~$ oscdump 1664
|
||||||
@ -28,23 +46,45 @@ tth@debian:~$ oscdump 1664
|
|||||||
tth@debian:~$
|
tth@debian:~$
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Envoyer :
|
% ------------------------------------------------
|
||||||
|
|
||||||
\begin{verbatim}
|
|
||||||
tth@debian:~$ oscsend localhost 1664 /tmp/kmem is 61 'meg, efface !'
|
|
||||||
tth@debian:~$
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
\section{Exemple de code}
|
\section{Exemple de code}
|
||||||
|
|
||||||
Ecouter :
|
\textbf{Ecouter :}
|
||||||
|
|
||||||
|
Attention, là, nous arrivons sur un domaine plus
|
||||||
|
hardu\footnote{Un beau néoligisme, n'est-il pas ?}.
|
||||||
|
En effet, la mécanique interne de \texttt{liblo}
|
||||||
|
utilise un thread d'écoute qui appelle des
|
||||||
|
\textsl{callbacks} préalablement "accrochés",
|
||||||
|
\textsl{hooked} en vrai langue.
|
||||||
|
|
||||||
\lstinputlisting[language=c]{code/listen-osc.c}
|
\lstinputlisting[language=c]{code/listen-osc.c}
|
||||||
|
|
||||||
Envoyer :
|
\textbf{Envoyer :}
|
||||||
|
|
||||||
|
Cette partie là est beaucoup plus simple.
|
||||||
|
|
||||||
\lstinputlisting[language=c]{code/send-osc.c}
|
\lstinputlisting[language=c]{code/send-osc.c}
|
||||||
|
|
||||||
|
J'avoue ne pas encore savoir ce que veut bien dire la
|
||||||
|
valeur de retour.
|
||||||
|
|
||||||
|
% ------------------------------------------------
|
||||||
|
\section{En Perl} \index{Perl}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
use Net::OpenSoundControl::Client;
|
||||||
|
|
||||||
|
$client = Net::OpenSoundControl::Client->new(
|
||||||
|
Host => $target, Port => $port)
|
||||||
|
or die "Could not start client: $@\n";
|
||||||
|
|
||||||
|
$client->send(['/proc/kcore', 'i', 61, 's', "bla"]);
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
% ------------------------------------------------
|
||||||
|
|
||||||
\section{Autres logiciels}
|
\section{Autres logiciels}
|
||||||
|
|
||||||
Beaucoup d'autres logiciels peuvent être controlés par OSC, ou
|
Beaucoup d'autres logiciels peuvent être controlés par OSC, ou
|
||||||
|
@ -6,18 +6,42 @@ Quelques notes en vrac sur divers logiciels\dots
|
|||||||
|
|
||||||
\section{Flydraw}\index{Flydraw}
|
\section{Flydraw}\index{Flydraw}
|
||||||
|
|
||||||
|
Comment faire des dessins en écrivant des lignes de codes ?
|
||||||
|
|
||||||
\begin{quote}
|
\begin{quote}
|
||||||
flydraw is a drawing tool based on an interpreter which parses a
|
flydraw is a drawing tool based on an interpreter which parses a
|
||||||
language featuring rich graphic primitives; it uses libgd to output
|
language featuring rich graphic primitives; it uses libgd to output
|
||||||
GIF, JPEG, or PNG\index{PNG} files.
|
GIF, JPEG, or PNG\index{PNG} files.
|
||||||
\end{quote}
|
\end{quote}
|
||||||
|
|
||||||
% ------------------------------------------------
|
\lstinputlisting{code/dessiner.fly}
|
||||||
|
|
||||||
|
Pour le moment, les résultats ne sont pas encourageants~:
|
||||||
|
\begin{verbatim}
|
||||||
|
tth@fubar:~/Documents/TetaTricks/code$ flydraw < dessiner.fly
|
||||||
|
bad_parms -100000
|
||||||
|
tth@fubar:~/Documents/TetaTricks/code$
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Mais en s'obstinant un peu au \textsl{cargocult}, il
|
||||||
|
s'avère que la documentation et le code semble ne sont
|
||||||
|
pas d'accord. Et les messages d'erreur trop
|
||||||
|
cryptiques pour moi. Donc, on y arrive.
|
||||||
|
|
||||||
|
\begin{figure}[h]
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=0.75]{code/flydraw}
|
||||||
|
\caption{Flydraw}
|
||||||
|
\end{center}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
%====================================================================
|
||||||
|
|
||||||
\section{Povray}\index{POVray}
|
\section{Povray}\index{POVray}
|
||||||
|
|
||||||
\textbf{Persistence Of Vision} est un logiciel de raytracing qui
|
\textbf{Persistence Of Vision} est un logiciel de raytracing qui
|
||||||
existe depuis plus de trente ans.
|
existe depuis plus de trente ans. C'est un lointain descendant
|
||||||
|
de DKBtrace.
|
||||||
|
|
||||||
\subsection{Caméra}
|
\subsection{Caméra}
|
||||||
|
|
||||||
@ -69,6 +93,25 @@ la commande\texttt{tail} au début du script. Ensuite les deux clauses
|
|||||||
coordonnées X et Z, dans le repère POVray, qui n'est pas le même que
|
coordonnées X et Z, dans le repère POVray, qui n'est pas le même que
|
||||||
celui de Gnuplot.
|
celui de Gnuplot.
|
||||||
|
|
||||||
|
% ------------------------------------------------
|
||||||
|
|
||||||
|
\subsection{Trucs à voir}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
|
||||||
|
#declare VIRGINIA =
|
||||||
|
transform{
|
||||||
|
matrix < 1, 1, 0,
|
||||||
|
0, 1, 0,
|
||||||
|
0, 0, 1,
|
||||||
|
0, 0, 0 >
|
||||||
|
}
|
||||||
|
|
||||||
|
box{0,1
|
||||||
|
transform{VIRGINIA}
|
||||||
|
}
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
% ------------------------------------------------
|
% ------------------------------------------------
|
||||||
|
|
||||||
|
@ -185,7 +185,12 @@ C'est clairement aussi un outil dédié au voyeurisme à distance,
|
|||||||
puisque il permet de découvrir, avec plus ou moins de détails,
|
puisque il permet de découvrir, avec plus ou moins de détails,
|
||||||
les services exposés à l'extérieur par une machine distante.
|
les services exposés à l'extérieur par une machine distante.
|
||||||
|
|
||||||
|
Comment scanner un /24 pour y découvrir les machines ?
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
# nmap -sS 192.168.42.0/24
|
||||||
|
\end{verbatim}
|
||||||
|
\texttt{-sS} = TCP SYN scan.
|
||||||
|
|
||||||
% ==============================================================
|
% ==============================================================
|
||||||
\section{netcat}
|
\section{netcat}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
\chapter{Le Shell}\index{shell}
|
\chapter{Le Shell}\index{shell}
|
||||||
\label{chap:shell}
|
\label{chap:shell}
|
||||||
|
|
||||||
Le \texttt{shell} est le coquillage qui isole le MC/P des yusers.
|
Le \texttt{shell} est le coquillage qui isole le
|
||||||
|
MC/P\footnote{Master Control Program} des yusers.
|
||||||
En gros, hein, je vais simplifier, et me limiter aux
|
En gros, hein, je vais simplifier, et me limiter aux
|
||||||
bricolages constructifs et/ou amusant. Il y aura du gore\index{gore}
|
bricolages constructifs et/ou amusant. Il y aura du gore\index{gore}
|
||||||
aussi.
|
aussi.
|
||||||
@ -12,7 +13,7 @@ choses en commun.
|
|||||||
|
|
||||||
Nous allons nous concentrer sur le \textsl{Bourne again shell}.
|
Nous allons nous concentrer sur le \textsl{Bourne again shell}.
|
||||||
aka \texttt{bash} qui est peut-être le plus répandu. Mais il
|
aka \texttt{bash} qui est peut-être le plus répandu. Mais il
|
||||||
en exuste d'autres : sh, ksh, ash, zsh\dots
|
en existe d'autres : sh, ksh, ash, zsh\dots
|
||||||
|
|
||||||
% ==============================================================
|
% ==============================================================
|
||||||
|
|
||||||
|
@ -14,9 +14,11 @@ other attacks. Additionally, OpenSSH provides secure tunneling
|
|||||||
capabilities and several authentication methods, and supports
|
capabilities and several authentication methods, and supports
|
||||||
all SSH protocol versions.}
|
all SSH protocol versions.}
|
||||||
|
|
||||||
|
% --------------------------------------------
|
||||||
|
|
||||||
\section{X11 forwarding}\index{X11}
|
\section{X11 forwarding}\index{X11}
|
||||||
|
|
||||||
|
Option \texttt{-X} et ses implications sur la sécurité.
|
||||||
|
|
||||||
\section{sshfs}
|
\section{sshfs}
|
||||||
\index{sshfs}
|
\index{sshfs}
|
||||||
@ -51,5 +53,8 @@ les bons droits sur \texttt{/dev/fuse*} et un
|
|||||||
La semaine prochaine, nous verrons le \textit{mapping} entre les
|
La semaine prochaine, nous verrons le \textit{mapping} entre les
|
||||||
UID\index{UID} locaux et distants.
|
UID\index{UID} locaux et distants.
|
||||||
|
|
||||||
|
% --------------------------------------------
|
||||||
|
|
||||||
|
\section{Port forwarding}
|
||||||
|
|
||||||
|
% https://tookmund.com/2021/10/ssh-port-forwarding
|
||||||
|
@ -333,6 +333,12 @@ Voilà, c'est tout pour le moment.
|
|||||||
|
|
||||||
%====================================================================
|
%====================================================================
|
||||||
|
|
||||||
|
\section{Airtime} \index{Airtime}
|
||||||
|
|
||||||
|
Cette partie est écrite pendant l'installation de Airtime
|
||||||
|
dans \textsf{Radio-Parasite} en octobre 2021.
|
||||||
|
|
||||||
|
%====================================================================
|
||||||
|
|
||||||
\section{libshout}\index{libshout}\label{libshout}
|
\section{libshout}\index{libshout}\label{libshout}
|
||||||
|
|
||||||
@ -349,7 +355,8 @@ data, and prevents bad data from getting to the icecast server.
|
|||||||
|
|
||||||
\lstinputlisting[language=c]{code/microcast.c}
|
\lstinputlisting[language=c]{code/microcast.c}
|
||||||
|
|
||||||
|
Mais il reste encore pas mal de chose importante à rajouter dans
|
||||||
|
ce logiciel : par exemple la partie encodage.
|
||||||
|
|
||||||
%====================================================================
|
%====================================================================
|
||||||
|
|
||||||
|
@ -75,3 +75,12 @@ of Code, the development continued and we are still looking for people with
|
|||||||
|
|
||||||
% --------------------------------------------------------------------
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
|
\section{Kinect} \index{Kinect}
|
||||||
|
|
||||||
|
Bon, voilà un nouveau gadget ;)
|
||||||
|
|
||||||
|
À priori, la partie caméra RGB est gérée classiquement par v4l2,
|
||||||
|
mais le coté spécifique, je ne sais pas qu'en faire...
|
||||||
|
|
||||||
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -19,6 +19,15 @@ arguments: arguments.c Makefile
|
|||||||
no-op: no-op.c Makefile
|
no-op: no-op.c Makefile
|
||||||
gcc -Wall $< -o $@
|
gcc -Wall $< -o $@
|
||||||
|
|
||||||
|
#------------- OSC -----------------------
|
||||||
|
|
||||||
|
osc: send-osc listen-osc
|
||||||
|
|
||||||
|
send-osc: send-osc.c Makefile
|
||||||
|
gcc -Wall $< -llo -o $@
|
||||||
|
listen-osc: listen-osc.c Makefile
|
||||||
|
gcc -Wall $< -llo -o $@
|
||||||
|
|
||||||
#------------- IPC -----------------------
|
#------------- IPC -----------------------
|
||||||
|
|
||||||
get-signal: get-signal.c Makefile
|
get-signal: get-signal.c Makefile
|
||||||
@ -45,3 +54,10 @@ plugiciel.so: plugiciel.c plugiciel.h Makefile
|
|||||||
appelant: appelant.c plugiciel.h Makefile
|
appelant: appelant.c plugiciel.h Makefile
|
||||||
gcc -Wall $< -ldl -o $@
|
gcc -Wall $< -ldl -o $@
|
||||||
|
|
||||||
|
#------------- GRAPHISME --------------------
|
||||||
|
|
||||||
|
flydraw.png: dessiner.fly
|
||||||
|
flydraw < $<
|
||||||
|
convert flydraw.gif flydraw.png
|
||||||
|
|
||||||
|
|
||||||
|
10
code/dessiner.fly
Normal file
10
code/dessiner.fly
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
comment Juste un petit dessin...
|
||||||
|
|
||||||
|
new 640,480
|
||||||
|
|
||||||
|
line 10,10,300,300,red
|
||||||
|
line 12,10,302,300,red
|
||||||
|
line 14,10,304,300,red
|
||||||
|
|
||||||
|
output flydraw.gif
|
||||||
|
|
@ -1 +1,15 @@
|
|||||||
/* LISTEN OSC */
|
/* LISTEN OSC */
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <lo/lo.h>
|
||||||
|
|
||||||
|
#define LOCAL_PORT "9000"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
lo_server_thread st;
|
||||||
|
|
||||||
|
st = lo_server_thread_new(LOCAL_PORT, NULL);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -1 +1,18 @@
|
|||||||
/* SEND OSC */
|
/* SEND OSC */
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <lo/lo.h>
|
||||||
|
|
||||||
|
#define REMOTE_HOST "localhost"
|
||||||
|
#define REMOTE_PORT "9000"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
lo_address loana;
|
||||||
|
int foo;
|
||||||
|
|
||||||
|
loana = lo_address_new(REMOTE_HOST, REMOTE_PORT);
|
||||||
|
foo = lo_send(loana, "/dev/kmem", "is", 61, "meg, efface !");
|
||||||
|
fprintf(stderr, "foo %d\n", foo);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
1
main.tex
1
main.tex
@ -21,6 +21,7 @@
|
|||||||
\lstset{aboveskip=1em,belowskip=1em}
|
\lstset{aboveskip=1em,belowskip=1em}
|
||||||
|
|
||||||
\setcounter{tocdepth}{1}
|
\setcounter{tocdepth}{1}
|
||||||
|
\pagestyle{plain}
|
||||||
|
|
||||||
\usepackage{pifont} % caractères rigolos
|
\usepackage{pifont} % caractères rigolos
|
||||||
\usepackage{enumitem}
|
\usepackage{enumitem}
|
||||||
|
Loading…
Reference in New Issue
Block a user