UNIX: разработка сетевых приложений
UNIX: разработка сетевых приложений читать книгу онлайн
Новое издание книги, посвященной созданию веб-серверов, клиент-серверных приложений или любого другого сетевого программного обеспечения в операционной системе UNIX, — классическое руководство по сетевым программным интерфейсам, в частности сокетам. Оно основано на трудах Уильяма Стивенса и полностью переработано и обновлено двумя ведущими экспертами по сетевому программированию. В книгу включено описание ключевых современных стандартов, реализаций и методов, она содержит большое количество иллюстрирующих примеров и может использоваться как учебник по программированию в сетях, так и в качестве справочника для опытных программистов.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
11.10. Когда клиент выводит
Trying 206.62.226.35...gethostnameConnected to bsdi.unpbook.com.connectГлава 12
12.1. Далее приведен сокращенный листинг. Обратите внимание, что клиент FTP в системе
freebsdEPRTPORTfreebsd % <b>ftp aix-4</b>Connected to aix-4.unpbook.com.220 aix FTP server ......230 Guest login ok. access restrictions apply.ftp> <b>debug</b>Debugging on (debug=1).ftp> <b>passive</b>Passive mode: off; fallback to active mode= offftp> <b>dir</b>---> EPRT |1|192 168.42.1|50484|500 'EPRT |1|192.168.42.1|50484|' command not understood.disabling epsv4 for this connection---> PORT 192.168.42.1.197.52200 PORT command successful.---> LIST150 Opening ASCII mode data connection for /bin/ls...freebsd % <b>ftp ftp.kame.net</b>Trying 2001.200:0:4819:203:47ff:fea5:3085...Connected to orange.kame.net.220 orange.kame.net FTP server ......230 Guest login ok. access restrictions apply.ftp> <b>debug</b>Debugging on (debug=1).ftp> <b>passive</b>Passive mode: off; fallback to active mode: off.ftp> <b>dir</b>---> EPRT |2|3ffe:b80:3:9ad1::2|50480|200 EPRT command successful---> LIST150 Opening ASCII mode data connection for '/bin/ls'.Глава 13
13.1. Все сообщения об ошибках, даже ошибка загрузки, такая как неправильный аргумент командной строки, должны сохраняться в файлах журнала с помощью функции
syslog13.2. TCP-версии серверов
echodiscardchargeninetdforktimedaytimeforkinetdforkinetd13.3. Это известная атака типа «отказ в обслуживании» [18]. Первая дейтаграмма с порта 7 заставляет сервер
chargenchargeninetd13.4. IP-адрес и номер порта клиента могут быть получены из структуры адреса сокета, заполняемой функцией
acceptПричина, по которой демон
inetdrecvfromexecinetdДемон
inetdMSG_PEEKГлава 14
14.1. Если не установлен обработчик, первый вызов функции
signalSIG_DFLsignal14.3. Приведем цикл
forfor (;;) { if ((n = Recv(sockfd, recvline, MAXLINE, MSG_PEEK)) == 0) break; /* сервер закрыл соединение */ Ioctl(sockfd, FIONREAD, &npend); printf("%d bytes from PEEK, %d bytes pendingn", n, npend); n = Read(sockfd, recvline, MAXLINE); recvline[n] = 0; /* завершающий нуль */ Fputs(recvline, stdout);}14.4. Данные продолжают выводиться, поскольку выход из функции
mainmain
