Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информационные сети и коммуникации. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Кразделу 2

1.Стивенс У. Протоколы TCP-IP Практическое руководство / У. Стивенс, А. Ричард. – СПб.: Невский диалект; БХВ-Петербург, 2003. – 672 с.

2.Костромин В.А. Самоучитель Linux для пользователя / В.А. Костромин. – СПб.: БХВ-Петербург, 2003. – 672 с.: ил.

3.Колесниченко Д.Н. Linux-сервер своими руками / Д.Н. Колесниченко. – СПб.: Наука и техника, 2002. – 576 с.: ил.

4.Кирх О. Linux для профессионалов. Руководство администратора сети / О. Кирх. – СПб.: Питер, 2000. – 368 с.: ил.

Кразделу 4

1.Танаев А. [Электронный ресурс] http://thelib.ru/books/butanaev_anton/ programmirovanie_soketov-read.html.

2.Шарыгин А. [Электронный ресурс] Программирование сокетов http://www.rsdn.ru/article/unix/ sockets.xml.

3.LinuxShare [Электронный ресурс] – Режим доступа http://www.linux share.ru/docs/devel/languages/C/tppcu/5.htm. – Загл. сэкрана.

4.Select_tutorial [Электронный ресурс] – Режим доступа http://amax.h16.ru/docs/select_tut2.html. – Загл. с экрана.

5.Porting applications to IPv6 HowTo [Электронный ресурс] – Режим доступа – http://long.ccaba.upc.es/long/045Guidelines/eva/ipv6.html. – Загл.

сэкрана.

6.Introduction to IPv6 Socket Programming [Электронный ресурс] – Режим доступа http://www.lugod.org/presentations/ipv6programming –

Загл. с экрана.

61

Кразделу 5

1.Танаев А. [Электронный ресурс] http://thelib.ru/books/butanaev_anton/ programmirovanie_soketov-read.html

2.Шарыгин А. [Электронный ресурс] Программирование сокетов http://www.rsdn.ru/article/unix/ sockets.xml

3.LinuxShare [Электронный ресурс] – Режим доступа http://www.linuxshare.ru/docs/devel/languages/C/tppcu/5.htm

4.Select_tutorial [Электронный ресурс] – Режим доступа http://amax.h16.ru/docs/select_tut2.html

5.Porting applications to IPv6 HowTo [Электронный ресурс] – Режим доступа: http://long.ccaba.upc.es/long/045Guidelines/eva/ipv6.html. – Загл.

сэкрана.

6.Introduction to IPv6 Socket Programming [Электронный ресурс] – Режим доступа http://www.lugod.org/presentations/ipv6programming –

Загл. с экрана.

Кразделу 6

1.Distributed Computing Made Simple [Электронный ресурс] http://zeromq.org.

2.Танаев А. [Электронный ресурс] http://thelib.ru/books/butanaev_ anton/programmirovanie_soketov-read.html.

3.Шарыгин А. [Электронный ресурс] Программирование сокетов http://www.rsdn.ru/article/unix/ sockets.xml.

4.LinuxShare http://www.linuxshare.ru/docs/devel/languages/C/tppcu/5.htm.

5.Select_tutorial http://amax.h16.ru/docs/select_tut2.html.

6.Спецификации RFC. http://rfc.com.ru/ - onlie ресурс.

Кразделу 7

1.Танаев А. [Электронный ресурс] http://thelib.ru/books/butanaev_anton/ programmirovanie_soketov-read.html

2.Шарыгин А [Электронный ресурс]. Программирование сокетов http://www.rsdn.ru/article/unix/ sockets.xml

3.LinuxShare [Электронный ресурс] http://www.linuxshare.ru/docs/ devel/languages/C/tppcu/5.htm

62

4.Select_tutorial [Электронный ресурс] http://amax.h16.ru/docs/ select_tut2.html

5.Программированиезвука[Электронныйресурс] http://www.opennet.ru/ base/dev/sound.txt.html

6.Кодек для сжатия речевых данных [Электронный ресурс] http://www.speex.org

7.Структурааудиофайла[Электронный ресурс] http://audiocoding.ru/

Кразделу 8

1.http://zguide.zeromq.org/page:all [Электронный ресурс].

2.https://learning-0mq-with-pyzmq.readthedocs.io/en/latest/pyzmq/patterns/ patterns.html [Электронный ресурс].

3.Easy cluster parallelization with ZeroMQ [Электронный ресурс].

4.https://github.com/mdup/easycluster/ [Электронный ресурс].

63

ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ 1 К РАЗДЕЛУ 2

Пример Shell скрипта, который проверяет наличие программы task.pl в памяти и «убивает» ее

-------------------------- начало листинга -----------------------------------

#!/bin/bash

#Признак, что это шелл-скрипт

echo "Сканер запущен! ";date; #вывели строку на консоль

while [ $(ps -e | grep "tasks.pl" | wc -c) -eq 0 ]; do

# проверили, встречается ли в списке задач "task.pl"

echo "task.pl в памяти не обнаружен" > /dev/tty6;

#выдали на терминал 6 сообщение

sleep 30;

#заснули на 30 секунд done

#признак конца while

var=$( killall virus.pl );

#присвоили переменной var ответ killall echo $var "процесс task.pl"

#напечатали строку на консоль echo "работа завершена"

---------------------------конец листинга------------------------------------

64

ПРИЛОЖЕНИЕ 2 К РАЗДЕЛУ 2

Справочник команд

Сетевые команды

ss - Утилита ss позволяет просматривать информацию об используемых сокетах. Подробнее man ss.

Netcat (nc) позволяет принимать или передавать информацию через сокеты в командном режиме. Подробнее man nc.

tcpdump – протоколирует трафик в сети

tcpdump [- c N] –i интерфейс

[-c N] – получить N пакетов и выйти -i интерфейс – имя интерфейса –i eth0

tcpdump –c 10 -i eth0:1

netstat – предоставляет информацию о сетях, сокетах, портах.

netstat –r – выводит таблицу маршрутов netstat –i – информация о интерфейсах

флаг –n – позволяет распечатывать адреса хостов, а не имена, подробнее смотрите в маn и info

traceroute – трассировка маршрута. Позволяет отследить маршрут движения IP пакетов от одного хоста к другому.

traceroute [-n] назначение

[-n] – требует распечатывать IP адреса вместо имен назначение – IP-адрес, к которому исследуется маршрут. traceroute –i eth0

Ping – пакетный локатор. Посылает эхо-запрос, на этот эхо-запрос адресат создает эхо-отклик. Таким образом, проверяется доступность адресата и выполняется хронометраж.

65

ping [-c N] назначение

[-c N] посылать N эхо-запросов Назначение – IP-адрес

ping –c 5 192.168.6.100

Некоторые команды bash

wc – счетчик количества строк символов в потоке (файле). Ключ [–c] позволяет подсчитывать количество байт в потоке.

grep – команда фильтр. Позволяет выделять строки из потока (файла), содержащие заданную подстроку.

grep “подстрока” файл

echo [строка] – печатает строку в поток. По умолчанию вывод осуществляется в поток stdout.

echo “Hello, world!”

Циклы и условное ветвление

Конструкция if: if {list} then {list2} else {list3} fi

Конструкция for: for name in words do list done for a in 1 2 3 ; do

touch /home/test/foo_$a done

Конструкции while, until: while listl do list2 done while [ -d /home/test/dir ] ; do

Is -1 /home/test/dir >> /home/test/dir.log echo -- SEPARATOR — >> /home/test/dir.log sleep 60

done

Команда проверки выражений для операторов ветвления test, или []

Условные выражения, строятся на основе проверки файловых атрибутов, сравнения строк и обычных арифметических сравнений. Ключи команды:

a –e –f file – верно, если файл существует

-b –c –d –p -S file верно, если файл соотвующего типа

66

-h –l file верно, если ссылка

-r/-w/-x file верно, если дано право на чтение/запись/исполнение -s верно, если размер больше нуля

-N file верно, если с момента последнего чтения файл был изменен filel -nt file2 – верно, если время модификации 1 позднее

filel -ot file2 – верно, если 1 старше

filel -ef file2 – верно, если файлы эквививалентны (inode) -z/-n string верно, если длина строки =/<> 0

stringl == string2 верно, если строки совпадают stringl != string2 верно, если строки совпадают

argl –ne/-le/-lt/-gt/-ge arg2 – арифметическая проверка

67

 

ПРИЛОЖЕНИЕ 1 К РАЗДЕЛУ 4

 

Ключи к команде tcpdump

Ключ

Описание

-a

Преобразовывает сетевые и широковещательные адреса в домен-

 

ные имена.

-e

Отображает данные канального уровня (mac-адрес, протокол,

 

длина пакета). Вместо ip-адресов будут отображаться mac-адреса

 

компьютеров.

-F файл

Использовать фильтр, находящийся в файле. Если вы используе-

 

те этот параметр, фильтр из командной строки будет игнориро-

 

ваться.

-i

Указывает на то, какой сетевой интерфейс будет использоваться

 

для захвата пакетов. По умолчанию – eth0, но если отсутствует

 

локальная сеть, то можно воспользоваться интерфейсом обрат-

 

ной связи lo.

-l

Использовать стандартный потоковый вывод tcpdump (stdout),

 

например, для записи в файл: shell# tcpdump -l | tee out.log //

-N

отобразит работу tcpdump и сохранит результат в файле out.log

Не добавляет доменное расширение к именам узлов. Например,

 

tcpdump отобразит 'net' вместо 'net.library.org'

-n

Отображает ip-адрес вместо имени хоста.

-nn

Отображает номер порта вместо используемого им протокола.

-p

Не переводит интерфейс в режим приема всех пакетов

-q

(promiscuous mode).

Выводит минимум информации. Обычно это имя протокола, от-

-r

куда и куда шел пакет, порты и количество переданных данных.

Этот параметр позволяет tcpdump прочесть трафик из файла, ес-

 

ли он был предварительно сохранен параметром -w.

-S

Позволяет не обрабатывать абсолютные порядковые номера

 

(initial sequence number - ISN) в относительные.

-s число

Количество байт пакета, которые будет обрабатывать tcpdump.

 

При установке большого числа отображаемых байт информация

 

может не уместиться на экране и ее будет трудно изучать. В за-

 

висимости от того, какие цели вы преследуете, и надо выбирать

 

значение этого параметра. По умолчанию tcpdump сохраняет

 

первые 68 байт, однако если вы хотите увидеть содержимое всего

 

пакета, используйте значение в 1500 байт (максимально допу-

 

стимый размер пакета в сети Ethernet).

68

-t Не отображает метку времени в каждой строке.

-T тип Интерпретация пакетов заданного типа. Поддерживаются типы aodv, cnfp, rpc, rtp, rtcp, snmp, tftp, vat, wb.

-tt Отображает неформатированную метку времени в каждой строке.

-tttt Показывает время вместе с датой.

-v Вывод подробной информации (TTL; ID; общая длина заголовка, а также его параметры; производит проверку контрольных сумм IP и ICMP-заголовков).

-vv Вывод еще более полной информации, в основном касается NFS

и SMB.

-vvv Вывод максимально подробной информации.

-w Сохраняет данные tcpdump в двоичном формате. Преимущества использования данного способа по сравнению с обычным перенаправлением в файл – это высокая скорость записи и возможность чтения подобных данных другими программами, например, snort, но этот файл нельзя прочитать человеку.

-X Выводит пакет в ASCII- и hex-формате. Полезно в случае анализа инцидента, связанного с взломом, так как позволяет просмотреть, какая текстовая информация передавалась во время соединения.

-x Делает распечатку пакета в шестнадцатеричной системе, полезно для более детального анализа пакета. Количество отображаемых данных зависит от параметра -s.

-xx То же, что и предыдущий параметр, но включает в себя заголовок канального уровня.

-XX То же, что и предыдущий параметр, но включает заголовок канального уровня.

-с число tcpdump завершит работу после получения указанного числа пакетов.

69

ПРИЛОЖЕНИЕ 2 К РАЗДЕЛУ 4

Программа-сервер преподавателя

/*Программа сервера UDP */ /*2021 год*/

#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <stdlib.h> #include <unistd.h> #include<netinet/in.h> #include <termios.h> #include <fcntl.h> #include <string.h>

int udp_socket=-1; // идентификатор сокет для UDP char udpbuf[1024]; // буфер для хранения данных

struct sockaddr_in6 addr_UDP6; //Структура для хранения адреса ipv6

void init_UDP(void);// инициализация UDP-сокет void send_UDP(int); // Отправляем данные в UDP

void main()

{

int i; int recv;

int structlen;

structlen = sizeof(struct sockaddr_in); char SENDER_ADDR[44];

int byte1,byte2,byte3,byte4; unsigned char xorbyte=0;

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]