Журнал лабораторных работ

Содержание

Журнал

Вторник (01/27/09)

/dev/ttyp3
10:29:18
#vim /etc/inetd.conf
10:33:12
#!
Xvnc(1)                                                         TightVNC                                                         Xvnc(1)
NAMEреформатирование Xtightvnc(1), подождите...
       Xvnc - an X server providing VNC connectivity
SYNOPSIS
       Xvnc   [:display]  [-geometry  widthxheight]  [-depth  depth]  [-pixelformat  rgbNNN|bgrNNN] [-udpinputport port] [-rfbport port]
              [-rfbwait time] [-nocursor] [-rfbauth passwd-file] [-httpd dir] [-httpport port] [-deferupdate time]  [-economictranslate]
              [-lazytight] [-desktop name] [-alwaysshared] [-nevershared] [-dontdisconnect] [-viewonly] [-localhost] [-interface ipaddr]
              [-inetd] [-compatiblekbd] [X-options...]
DESCRIPTION
       Xvnc is a VNC (Virtual Network Computing) server. It acts like an X server with a virtual display. The display can be seen  by  a
...
~
~      -rfbport port
~             TCP port for RFB protocol. The RFB protocol is used for commnunication between VNC server and clients.
~
~      -rfbwait time
~             Maximum time, in milliseconds, to wait for an RFB client (VNC viewer).
~
~      -nocursor
~
bash: syntax error near unexpected token `newline'
10:34:11
#net
netcat   netstat
10:34:11
#netstat -lnp | grep inetd

10:34:29
#/etc/init.d/openbsd-inetd restart
Restarting internet superserver: inetd.
10:34:43
#netstat -lnp | grep inetd
tcp        0      0 0.0.0.0:7               0.0.0.0:*               LISTEN     2255/inetd
tcp        0      0 0.0.0.0:9               0.0.0.0:*               LISTEN     2255/inetd
10:34:46
#vim /etc/inetd.conf
--- /tmp/l3-saved-2138.21529.13994	2009-01-27 10:34:59.000000000 +0200
+++ /etc/inetd.conf	2009-01-27 10:35:06.000000000 +0200
@@ -16,7 +16,7 @@
 #:INTERNAL: Internal services
 discard		stream	tcp	nowait	root	internal
 echo		stream	tcp	nowait	root	internal
-charger		stream	tcp	nowait	root	internal
+chargen		stream	tcp	nowait	root	internal
 
 #discard		dgram	udp	wait	root	internal
 #daytime		stream	tcp	nowait	root	internal
10:35:06
#vim /etc/services
10:35:18
#/etc/init.d/openbsd-inetd restart
Restarting internet superserver: inetd.
10:35:20
#netstat -lnp | grep inetd
tcp        0      0 0.0.0.0:7               0.0.0.0:*               LISTEN     2326/inetd
tcp        0      0 0.0.0.0:9               0.0.0.0:*               LISTEN     2326/inetd
tcp        0      0 0.0.0.0:19              0.0.0.0:*               LISTEN     2326/inetd
10:35:23
#vim /etc/inetd.conf
10:38:55
#bc
bash: bc: command not found
10:39:00
#ssh 192.168.16.254
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
90:7f:6c:4f:4c:b3:6c:3a:73:79:4d:77:f2:82:51:64.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:4
RSA host key for 192.168.16.254 has changed and you have requested strict checking.
Host key verification failed.
10:39:55
#ssh 192.168.16.254
 24
~
~
~
~
~
~
~
~
~
...
reload   restart
debian:~# invoke-rc.d bind9 restart
Stopping domain name service...: bind9.
Starting domain name service...: bind9.
debian:~# tail -f /var/log/daemon.log
Jan 27 08:41:58 debian named[20993]: default max-cache-size (33554432) applies: view _bind
Jan 27 08:41:58 debian named[20993]: command channel listening on 127.0.0.1#953
Jan 27 08:41:58 debian named[20993]: command channel listening on ::1#953
Jan 27 08:41:58 debian named[20993]: zone 0.in-addr.arpa/IN: loaded serial 1
Jan 27 08:41:58 debian named[20993]: zone 127.in-addr.arpa/IN: loaded serial 1
10:43:43
#apt-get install bc
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  bc
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 55 пакетов не обновлено.
Необходимо скачать 66,2kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 193kB.
0% [Соединение с debian.org.ua (62.149.27.59)]
10:44:10
#ssh 192.168.16.6
The authenticity of host '192.168.16.6 (192.168.16.6)' can't be established.
RSA key fingerprint is 51:5b:32:d8:70:19:6d:04:c7:b4:11:49:13:74:dc:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.16.6' (RSA) to the list of known hosts.
root@192.168.16.6's password:
Last login: Tue Jan 27 10:00:48 2009 from host202.net.nt
Linux debiant 2.6.18-5-xen-686 #1 SMP Fri Jun 1 05:05:24 UTC 2007 i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
l3-agent is already running: pid=1509; pidfile=/root/.lilalo/l3-agent.pid
10:44:27
#iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  0    --  192.168.91.0/24      anywhere
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
10:44:32
#reboot

10:44:50
#iptables -t nat -A POSTROUTING -s 192.168.92

10:45:11
#iptables -t nat -A POSTROUTING -s 192.168.93

10:45:15
#iptables -t nat -A POSTROUTING -s 192.168.94

10:45:18
#iptables -t nat -A POSTROUTING -s 192.168.95

10:45:21
#exit
Connection to 192.168.16.6 closed.
10:45:23
#apt-get install bc
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  bc
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 55 пакетов не обновлено.
Необходимо скачать 66,2kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 193kB.
0% [Соединение с debian.org.ua (62.149.27.59)]
10:45:37
#apt-get install bc
[root@debian2:~]# ping ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=50 time=44.9 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=2 ttl=50 time=26.6 ms
--- ya.ru ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 26.674/35.836/44.999/9.164 ms
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  bc
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 55 пакетов не обновлено.
Необходимо скачать 66,2kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 193kB.
0% [Соединение с debian.org.ua (62.149.27.59)]
0% [Соединение с debian.org.ua (62.149.27.59)]
0% [Соединение с debian.org.ua (62.149.27.59)]
10:45:43
#ping 62.149.27.59
PING 62.149.27.59 (62.149.27.59) 56(84) bytes of data.
64 bytes from 62.149.27.59: icmp_seq=1 ttl=53 time=10.2 ms
--- 62.149.27.59 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 10.218/10.218/10.218/0.000 ms
10:46:19
#apt-get update
~
~
~
~
~
~
~
~
~
~
...
~
~
~
"/etc/apt/sources.list" 1L, 44C записано                                                                                           сь
Получено:1 http://10.0.35.1 etch Release.gpg [386B]
Получено:2 http://10.0.35.1 etch Release [58,2kB]
Ign http://10.0.35.1 etch/main Packages
Получено:3 http://10.0.35.1 etch/main Packages [5620kB]
Получено 5679kB за 4s (1339kB/c)
Чтение списков пакетов... Готово
10:46:31
#apt-get install bc
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
НОВЫЕ пакеты, которые будут установлены:
  bc
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 55 пакетов не обновлено.
Необходимо скачать 66,2kБ архивов.
После распаковки объем занятого дискового пространства возрастёт на 193kB.
Получено:1 http://10.0.35.1 etch/main bc 1.06-20 [66,2kB]
Получено 66,2kB за 0s (1154kB/c)
Выбор ранее не выбранного пакета bc.
(Чтение базы данных... на данный момент установлено 22654 файлов и каталогов.)
Распаковывается пакет bc (из файла .../archives/bc_1.06-20_i386.deb)...
Настраивается пакет bc (1.06-20) ...
10:46:47
#vim /etc/services
--- /tmp/l3-saved-2138.11624.25858	2009-01-27 10:46:55.000000000 +0200
+++ /etc/services	2009-01-27 10:47:18.000000000 +0200
@@ -554,4 +554,5 @@
 tfido		60177/tcp			# fidonet EMSI over telnet
 fido		60179/tcp			# fidonet EMSI over TCP
 vnc1		65534/tcp                       #VNC_inetd
+bc		65535/tcp         
 # Local services
10:47:19
#vim /etc/inetd.conf
--- /tmp/l3-saved-2138.16593.11358	2009-01-27 10:47:23.000000000 +0200
+++ /etc/inetd.conf	2009-01-27 10:48:04.000000000 +0200
@@ -40,3 +40,4 @@
 #:OTHER: Other services
 
 #vnc1 stream tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd  -query 127.0.0.1 -once -geometry 1024x768 -depth 24
+bc stream tcp nowait root /usr/bin/bc
10:48:16
#/etc/init.d/openbsd-inetd restart
(reverse-i-search)`in': netstat -lnp | grep inetd
Restarting internet superserver: inetd.
10:48:21
#netstat -lnp | grep inetd
tcp        0      0 0.0.0.0:7               0.0.0.0:*               LISTEN     2741/inetd
tcp        0      0 0.0.0.0:9               0.0.0.0:*               LISTEN     2741/inetd
tcp        0      0 0.0.0.0:19              0.0.0.0:*               LISTEN     2741/inetd
tcp        0      0 0.0.0.0:65535           0.0.0.0:*               LISTEN     2741/inetd
10:48:23
#telnet 127.0.0.1 65535
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
2+2
(standard_in) 1: illegal character: ^M
2+2;
(standard_in) 2: illegal character: ^M
2+2#
4
^]
telnet> q
Connection closed.
прошло 23 минуты
11:11:28
#vim /etc/services
11:11:38
#ldd /usr/sbin/inetd
        linux-gate.so.1 =>  (0xb7f2c000)
        libwrap.so.0 => /lib/libwrap.so.0 (0xb7f1d000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7de9000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7dd2000)
        /lib/ld-linux.so.2 (0xb7f2d000)
11:13:42
#ls -l
[root@debian2:~]# ls /lib/libwrap.so.0
/lib/libwrap.so.0
lrwxrwxrwx 1 root root 16 2008-07-04 20:08 /lib/libwrap.so.0 -> libwrap.so.0.7.6
11:13:47
#file libwrap.so.0.7.6
libwrap.so.0.7.6: ERROR: cannot open `libwrap.so.0.7.6' (No such file or directory)
11:13:54
#file /lib/
/lib/libwrap.so.0.7.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
11:13:59
#strings /lib/libwrap.so.0.7.6 | less

Статистика

Время первой команды журнала10:29:18 2009- 1-27
Время последней команды журнала11:13:59 2009- 1-27
Количество командных строк в журнале39
Процент команд с ненулевым кодом завершения, %15.38
Процент синтаксически неверно набранных команд, % 2.56
Суммарное время работы с терминалом *, час 0.74
Количество командных строк в единицу времени, команда/мин 0.87
Частота использования команд
vim7|===============| 15.91%
iptables5|===========| 11.36%
apt-get5|===========| 11.36%
netstat4|=========| 9.09%
grep4|=========| 9.09%
/etc/init.d/openbsd-inetd3|======| 6.82%
ssh3|======| 6.82%
file2|====| 4.55%
telnet1|==| 2.27%
ping1|==| 2.27%
ldd1|==| 2.27%
strings1|==| 2.27%
reboot1|==| 2.27%
!1|==| 2.27%
bc1|==| 2.27%
less1|==| 2.27%
net1|==| 2.27%
ls1|==| 2.27%
exit1|==| 2.27%
____
*) Интервалы неактивности длительностью 30 минут и более не учитываются

Справка

Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
  1. В журнал автоматически попадают все команды, данные в любом терминале системы.

  2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

  3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
    $ l s-l
    bash: l: command not found
    

  4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
    $ test 5 -lt 4
    Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

  5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
    $ find / -name abc
    find: /home/devi-orig/.gnome2: Keine Berechtigung
    find: /home/devi-orig/.gnome2_private: Keine Berechtigung
    find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
    find: /home/devi-orig/.metacity: Keine Berechtigung
    find: /home/devi-orig/.inkscape: Keine Berechtigung
    ^C
    

  6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
    # id
    uid=0(root) gid=0(root) Gruppen=0(root)
    

  7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
    $ vi ~/.bashrc
    2a3,5
    >    if [ -f /usr/local/etc/bash_completion ]; then
    >         . /usr/local/etc/bash_completion
    >        fi
    

  8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
    $ patch ~/.bashrc
    В данном случае изменения применяются к файлу ~/.bashrc

  9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

    Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

  10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

  11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

  12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

  13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

  14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

    $ whoami
    
    user
    
    $ #^ Интересно, кто я?
    
    в журнале это будет выглядеть так:
    $ whoami
    
    user
    
    Интересно, кто я?

  15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

    $ whoami
    
    user
    
    $ cat > /dev/null #^ Интересно, кто я?
    
    Программа whoami выводит имя пользователя, под которым 
    мы зарегистрировались в системе.
    -
    Она не может ответить на вопрос о нашем назначении 
    в этом мире.
    
    В журнале это будет выглядеть так:
    $ whoami
    user
    
    Интересно, кто я?
    Программа whoami выводит имя пользователя, под которым
    мы зарегистрировались в системе.

    Она не может ответить на вопрос о нашем назначении
    в этом мире.
    Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

  16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

  17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
  18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
  19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
    1
        2
    3   
        4
    
    Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

О программе

LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008

$Id$