Оглавление Оглавление 1

Вид материалаДокументы

Содержание


Поиск и устранение проблем
Command pid user fd type device size node name
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   29

Поиск и устранение проблем

Ping


Ping - хорошо известная утилита диагностирования сети.

[root@test root]# ping -c 1 192.168.0.254

PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.

64 bytes from 192.168.0.254: icmp_seq=1 ttl=128 time=0.347 ms


--- 192.168.0.254 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.347/0.347/0.347/0.000 ms

[root@test root]#


Ping посылает ICMP-пакеты (ICMP_ECHO_REQUEST) и ожидает ответа (ICMP_ECHO_REPLY). Утилита используется для выяснения того, функционирует ли какой-либо хост.

Netstat


Утилита Netstat отображает сетевые соединения, таблицы маршрутизации, статистику по интерфейсам, «маскарадные» соединения 3 и участие в многоадресных рассылках данных:

[root@test root]# netstat -tua

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 localhost:32768 *:* LISTEN

tcp 0 0 *:imaps *:* LISTEN

tcp 0 0 *:pop3s *:* LISTEN

tcp 0 0 *:ldap *:* LISTEN

tcp 0 0 *:submission *:* LISTEN

tcp 0 0 *:pop3 *:* LISTEN

...

[SNIP]

...

tcp 0 0 *:https *:* LISTEN

tcp 0 0 *:ldaps *:* LISTEN

udp 0 0 *:10000 *:*

udp 0 0 *:746 *:*

udp 0 0 *:749 *:*

udp 0 0 *:sunrpc *:*

udp 0 0 *:ipp *:*

[root@test root]#


Чаще всего с командой netstat используются следующие опции:

-t : tcp-соединения

-u : udp-соединения

-a : отображает сокеты, ожидающие и не ожидающие соединения

-n : не выполнять преобразование IP-адресов в имена

traceroute


Утилита traceroute отображает путь, проходимый пакетом для достижения хоста, которому он предназначается. Путь представляется как список маршрутизаторов, через которые прошел пакет.

[root@test root]# traceroute www.lynuxtraining.com

traceroute to www.lynuxtraining.com (80.74.141.177), 30 hops max, 38 byte packets

1 ARISTOTE (192.168.0.254) 0.429 ms 0.207 ms 0.138 ms

2 nas-9t-lyo-3.nas.gaoland.net (62.106.138.36) 153.738 ms 149.115 ms 150.032 ms

3 V36.core1.lyo.gaoland.net (62.39.1.33) 155.857 ms 143.076 ms 144.016 ms

4 V4094.core1.cbv.gaoland.net (212.94.160.1) 149.877 ms 143.129 ms 149.892 ms

5 V3994.cbv1-co-1.gaoland.net (212.94.162.210) 144.010 ms 143.354 ms 143.884 ms

6 above.FreeIX.net (213.228.3.234) 156.043 ms 167.703 ms 150.071 ms

7 ge12-0.cr2.cdg2.fr.above.net (208.184.231.234) 155.856 ms 155.256 ms 155.883 ms

8 so-0-2-0.cr1.fra1.de.above.net (64.125.31.138) 168.015 ms 173.700 ms 167.933 ms

9 pos1-0.er1a.fra1.de.above.net (216.200.116.129) 168.030 ms 167.754 ms 173.911 ms

10 216.200.114.246.reverse.not.updated.above.net (216.200.114.246) 180.092 ms 167.796 ms 173.941 ms

11 r1ffm.vianw.net (213.2.252.65) 167.942 ms 173.209 ms 173.825 ms

12 zrhth1001.ch.vianw.net (213.2.254.26) 174.036 ms 173.590 ms 173.914 ms

13 ch-tixzh-cr2.metanet.ch (80.74.134.13) 167.981 ms 179.829 ms 167.982 ms

14 arc80-74-141-177.ch-meta.net (80.74.141.177) 167.852 ms 172.765 ms 173.993 ms

[root@test root]#




tcpdump


Утилита tcpdump предназначена для вывода на экран или в файл сетевого трафика. Утилита очень полезна для диагностики и устранения проблем, возникающих в сети. Для понимания выводимых утилитой данных необходимо хорошее знание сетевых протоколов.

[root@test root]# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

23:16:09.728970 IP 192.168.0.42.32770 > ARISTOTE.domain: 25979+ A? test. (33)

23:16:09.729675 arp who-has 192.168.0.42 tell ARISTOTE

23:16:09.729695 arp reply 192.168.0.42 is-at 00:40:f4:98:d2:d9

23:16:09.729796 IP ARISTOTE.domain > 192.168.0.42.32770: 25979 NXDomain- 0/0/0 (33)

23:16:09.729897 IP 192.168.0.42.32770 > ARISTOTE.domain: 25980+ A? Ooip. (22)

...

[SNIP]

...

23:16:10.924134 IP 192.168.0.42.32848 > arc80-74-141-177.ch-meta.net.http: P 1:353(352) ack 1 win 5840


38 packets captured

38 packets received by filter

0 packets dropped by kernel

[root@test root]#


Существует возможность добавления фильтров, чтобы видеть только определенную часть трафика:

[root@test root]# tcpdump -i eth0 dst www.lynuxtraining.com and port 80

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

23:22:42.053767 IP 192.168.0.42.32870 > arc80-74-141-177.ch-meta.net.http: P 2566206792:2566207294(502) ack 3283895847 win 63712

...

[SNIP]

...

23:22:44.073759 IP 192.168.0.42.32870 > arc80-74-141-177.ch-meta.net.http: . ack 18825 win 63712

23:22:44.085583 IP 192.168.0.42.32870 > arc80-74-141-177.ch-meta.net.http: . ack 18916 win 63712


15 packets captured

24 packets received by filter

0 packets dropped by kernel

[root@test root]#



lsof


Аббревиатура «lsof» расшифровывается как LiSt Open Files – «перечислить открытые файлы». Эта утилита выводит на экран файлы, открытые различными процессами:

[root@test root]# lsof /dev/log

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

syslogd 1002 root 0u unix 0xcf360a00 4202 /dev/log

[root@test root]#


[root@test root]# lsof -i

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

portmap 988 rpc 3u IPv4 4167 UDP *:sunrpc

portmap 988 rpc 4u IPv4 4186 TCP *:sunrpc (LISTEN)

rpc.statd 1049 root 4u IPv4 4313 UDP *:804

rpc.statd 1049 root 5u IPv4 4291 UDP *:801

rpc.statd 1049 root 6u IPv4 4327 TCP *:807 (LISTEN)

ypserv 1065 root 5u IPv4 4356 UDP *:819

ypserv 1065 root 6u IPv4 4361 TCP *:822 (LISTEN)

rpc.ypxfr 1494 root 4u IPv4 4794 UDP *:823

rpc.ypxfr 1494 root 5u IPv4 4797 TCP *:825 (LISTEN)

X 1546 root 1u IPv4 4948 TCP *:x11 (LISTEN)

slapd 1563 ldap 7u IPv4 4938 TCP *:ldap (LISTEN)

slapd 1563 ldap 8u IPv4 9766 TCP localhost:ldap->localhost:32872 (ESTABLISHED)

slapd 1563 ldap 14u IPv4 685334 TCP localhost:ldap->localhost:33132 (ESTABLISHED)

slapd 1563 ldap 16u IPv4 6181 TCP localhost:ldap->localhost:32785 (ESTABLISHED)

slapd 1563 ldap 17u IPv4 6664 TCP localhost:ldap->localhost:32820 (ESTABLISHED)

slapd 1563 ldap 23u IPv4 6675 TCP localhost:ldap->localhost:32822 (ESTABLISHED)


...

[пропущено]

...


named 3832 named 26u IPv4 9787 TCP localhost:rndc (LISTEN)

esd 3845 csahut 29u IPv4 9789 TCP test:32873->test:squid (CLOSE_WAIT)

snort 4260 snort 5u IPv4 685333 TCP localhost:33132->localhost:ldap (ESTABLISHED)

[root@test root]#

nc


Название утилиты nc происходит от NetCat. Это универсальная утилита для работы с протоколом TCP/IP.


Примеры:
  • Ожидание соединения на порту 23

[root@test root]# nc -l -p 2323


  • Инициирование соединения с портом 23

[root@test root]# nc -l -p 2323


  • Передача файла

[root@server root]# nc -l -p 2121 > my_file


[root@sclient root]# cat my_file | nc -q0 192.168.0.69 2121


  • Передача и упаковка каталога

[root@server root]# nc -l -p 2121 | gzip -c -d | tar -x


[root@sclient root]# tar -c my_dir | gzip -c | nc -q0 192.168.0.69 2121


  • Защищенная передача файла

[root@server root]# nc -l -p 2121 | gpg –decrypt > my_file


[root@sclient root]# cat my_file | gpg -c | nc -q0 192.168.0.69 2121