Я все время возвращаюсь к красивому ответу @Jander в надежде на декодер копирования и вставки, когда сталкиваюсь с подобным:
user@machine:~$ grep Sig...: /proc/18475/status
SigPnd: 0000000000000000
SigBlk: fffffffe7dfbfaff
SigIgn: 0000000000001000
SigCgt: 0000000182006e47
user@machine:~$
Думаю, я нужно что-то придумать ... скажите:
user@machine:~$ ruby -wn - /proc/18475/status <<'EOF'
if $_.match(/Sig(Pnd|Blk|Ign|Cgt):\s([0-9a-f]{16})/) == nil
next
end
field = $1
mask = $2.to_i(16)
names = []
Signal.list().each_pair() {
|name, number|
if number == 0
# "EXIT" => 0
next
end
if (mask & (1 << (number - 1))) == 0
next
end
names << name
}
puts("Sig#{field}: #{names.join(" | ")}")
EOF
SigPnd:
SigBlk: HUP | INT | QUIT | ILL | TRAP | IOT | ABRT | FPE | BUS | SYS | PIPE | ALRM | TERM | URG | TSTP | CONT | CHLD | CLD | TTIN | TTOU | IO | XCPU | XFSZ | PROF | WINCH | USR1 | USR2 | PWR | POLL
SigIgn: PIPE
SigCgt: HUP | INT | QUIT | BUS | SEGV | ALRM | TERM | VTALRM | USR1 | USR2
user@machine:~$
Я хотел, чтобы это было несколько разборчиво, но из-за этого вызывать его было немного неудобнее, чем хотелось бы, поэтому, благодаря предложению @alanc, я сохраню его как ~ / bin / psig.
What commands have been performed on the local FTP server?
Para habilitar el inicio de sesión de FTP en un sistema AIX, debe reconfigurar el FTP (al que llama inetd en su caso )para enviar registros de depuración a syslog y configurar syslog para guardar esos registros en un archivo.
Edite /etc/inetd.conf
y agregue -d
al final de la línea ftpd:
ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -d
Actualizar inetd:refresh -s inetd
Edite /etc/syslog.conf
y agregue una línea para daemon.debug
para guardar los registros en algún lugar:
daemon.debug /var/log/ftp.log
Cree un archivo para que syslog lo escriba:touch /var/log/ftp.log
Actualizar syslogd:refresh -s syslogd
Syslog enviará los registros de cualquier demonio a este archivo, por lo que querrá filtrarlo con grep
, quizás:grep 'daemon:debug ftpd' /var/log/ftp.log
.
Los comandos que se enviaron a través de FTP se registrarán con la cadena command:
; aquí hay una muestra:
May 18 10:13:35 ftpserver daemon:debug ftpd[3932700]: command: USER username-here^M
May 18 10:13:35 ftpserver daemon:debug ftpd[3932700]: <--- 331
May 18 10:13:35 ftpserver daemon:debug ftpd[3932700]: Password required for username-here.
May 18 10:13:42 ftpserver daemon:debug ftpd[3932700]: command: PASS
May 18 10:13:42 ftpserver daemon:debug ftpd[3932700]: <--- 230-
May 18 10:13:42 ftpserver daemon:debug ftpd[3932700]: Last login: Fri May 18 10:13:02 EDT 2018 on ftp from ftpclient.example.com
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 230
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: User username-here logged in.
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: command: PORT 10,1,1,1,229,54^M
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 200
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: PORT command successful.
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: command: LIST^M
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 150
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: Opening data connection for /bin/ls.
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: <--- 226
May 18 10:13:43 ftpserver daemon:debug ftpd[3932700]: Transfer complete.
¡Sí, esas M de Control -aparecen como tales en los registros!
What commands have been performed by the local FTP client to other servers?
Dado que las aplicaciones pueden realizar sus propias acciones de FTP, sería difícil encapsular todos los programas cliente posibles (como/usr/bin/ftp
)para detectar esto. La mejor apuesta es configurar el servidor FTP remoto para registrar los comandos, tal como lo hicimos anteriormente. Lo segundo -mejor sería configurar el cortafuegos de AIX para permitir -y -registrar el tráfico destinado al puerto 21.
Asegúrese de tener instalado el conjunto de archivos ipsec:
lslpp -L bos.net.ipsec.rte; echo $?
Debería mostrar un conjunto de archivos listado con un código de retorno de 0, y no:
lslpp: 0504-132 Fileset bos.net.ipsec.rte not installed.
Asegúrese de que los dispositivos ipsec estén habilitados:
lsdev -l ipsec_v4
Debería obtener una línea de regreso que diga "Disponible", no "Definido" o ninguna línea de regreso.
Si no hubo salida o el dispositivo fue "Definido":
smitty ipsec4
Start/Stop IP Security
, Start IP Security
, Now and After Reboot
yDeny All Non_Secure = no
El dispositivo ipsec _v4 ahora debería mostrarse como "Disponible".
Cree un archivo de registro con:touch /var/log/ipsec.log
.
Actualizar registro del sistema:
echo "local4.debug /var/log/ipsec.log rotate size 100k files 4" >> /etc/syslog.conf
refresh -s syslogd
Agregar una regla para permitir y registrar el tráfico destinado al puerto 21:
# -v 4 == IPv4
# -n 2 == add this after the first rule
# -a P == permit
# -O eq == destination port *equals* 21
# -P 21 == destination port 21
# -w O == outbound connections; change this to “B” to log in both directions
# -c tcp == TCP protocol
# -s, -m, -d, -M = source/dest IP & mask (any)
# -l Y = Log it
# -r L = applies only to packets destined or originated from the local host
genfilt -v 4 -n 2 -a P -O eq -P 21 -w O -c tcp -s 0.0.0.0 -m 0.0.0.0 -d 0.0.0.0 -M 0.0.0.0 -l Y -r L -D “allow and log port 21 traffic”
Iniciar registro:
mkfilt -g start
Activar el conjunto de reglas:
mkfilt -u
Espere a que se produzcan las conexiones FTP salientes, luego:
grep ipsec_logd /var/log/ipsec.log | grep DP:21
Verá las direcciones IP de origen y destino para las conexiones FTP salientes junto con las marcas de tiempo, como:
May 18 11:29:40 localhost local4:info ipsec_logd: #:0 R:p O:10.1.1.1 S:10.1.1.1 D:10.2.2.2 P:tcp SP:55091 DP:21 R:l I:en0 F:n T:0 L:0
No registra el contenido(comandos )de la sesión FTP, pero tendrá marcas de tiempo y destinos. Tenga en cuenta que se registra cada paquete de cada conexión FTP.
Referencias: