В данной статье речь пойдет о нужных и полезных командах и программах для работы с сетью и сетевым оборудованием в Ubuntu Linux. Сетевые команды в Linux помогут идентифицировать оборудование, узнать mac-адрес, ip-адрес, «пропинговать» и просканировать сеть, и многое другое.
Утилита ping отправляет на указанный адрес(хост) ICMP-пакеты (echo-запросы). Если адрес ответит, то в итоге мы должны увидеть полученный ICMP-пакет.
Если “пропинговать” IP-адрес/хост, то можно будет определить, доступен в данный момент ресурс либо локальная машина или нет. А то очень часто бывает, что какой-нибудь сайт недоступен, и именно программа ping способна дать ответ, это проблемы с сайтом или с хостом. Если вы получаете ответы от хоста, а сайт все еще не виден в сети, значит возможно имеются технические неполадки с самим ресурсом.
Пример использования ping:
ping softhelp.org.ua
PING softhelp.org.ua (77.120.115.202) 56(84) bytes of data.
64 bytes from note.cityhost.com.ua (77.120.115.202): icmp_req=1 ttl=56 time=18.9 ms
64 bytes from note.cityhost.com.ua (77.120.115.202): icmp_req=2 ttl=56 time=13.7 ms
64 bytes from note.cityhost.com.ua (77.120.115.202): icmp_req=3 ttl=56 time=13.7 ms
Можно также проверить локальный интерфейс вашей системы. Если, к примеру, нет выхода в сеть, то проблемой могут служить неправильные сетевые настройки, поломка сетевого оборудования и т.д.
Выполните любую из перечисленных команд в Терминале:
ping localhost
ping 0
ping 127.0.0.1
Должны получить примерно такой ответ:
ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.058 ms
64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.042 ms
64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.040 ms
Это говорит о том, что ваш локальный интерфейс в порядке.
Команда ifconfig выдает информацию про все сетевые устройства вашего компьютера, MAC-адреса, IP-адрес, сетевую маску и т.д.
Пример использования:
ifconfig
Должны получить следующий вывод команды:
eth1 Link encap:Ethernet HWaddr 54:e6:fc:85:7f:76
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::56e6:fcff:fe85:7f76/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:641465 errors:0 dropped:0 overruns:0 frame:0
TX packets:422626 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:847453562 (847.4 MB) TX bytes:88428495 (88.4 MB)
eth2 Link encap:Ethernet HWaddr 10:bf:48:7e:3a:12
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:620804 errors:0 dropped:0 overruns:0 frame:0
TX packets:620804 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:121117187 (121.1 MB) TX bytes:121117187 (121.1 MB)
В данном примере мы видим, что в нашем компьютере подключены две сетевые платы (eth1 и eth2) и имеется один локальный хост — lo (127.0.0.1)
Информацию про сетевое оборудование также можно узнать, выполнив команду в Терминале:
sudo lshw -C network
Должны получить такой результат:
sudo lshw -C network
[sudo] password for dm:
*-network
описание: Ethernet interface
продукт: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
производитель: Realtek Semiconductor Co., Ltd.
физический ID: 0
сведения о шине: pci@0000:02:00.0
логическое имя: eth2
версия: 06
серийный №: 10:bf:48:7e:3a:12
размер: 10Mbit/s
capacity: 1Gbit/s
разрядность: 64 bits
частота: 33MHz
возможности: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
кофигурация: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8168e-3_0.0.4 03/27/12 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
ресурсы: IRQ:86 ioport:d000(размер=256) память:d2104000-d2104fff память:d2100000-d2103fff
*-network
описание: Ethernet interface
продукт: RTL-8139/8139C/8139C+
производитель: Realtek Semiconductor Co., Ltd.
физический ID: 5
сведения о шине: pci@0000:07:05.0
логическое имя: eth1
версия: 10
серийный №: 54:e6:fc:85:7f:76
размер: 100Mbit/s
capacity: 100Mbit/s
разрядность: 32 bits
частота: 33MHz
возможности: pm bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
кофигурация: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=full ip=192.168.1.100 latency=32 link=yes maxlatency=64 mingnt=32 multicast=yes port=MII speed=100Mbit/s
ресурсы: IRQ:20 ioport:a000(размер=256) память:fe121000-fe1210ff память:fe100000-fe11ffff
Утилита traceroute будет весьма полезна для диагностики сети. Программа покажет все хосты, через которые проходит пакет от начальной точки до пункта назначения. При помощи traceroute вы сможете увидеть количество “хопов” (hops) между вашим компьютером и указанным ресурсом.
Установим утилиту командой:
sudo apt-get install traceroute
Пример использования:
traceroute softhelp.org.ua
traceroute to softhelp.org.ua (77.120.115.202), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 0.287 ms 0.280 ms 0.307 ms
2 * * *
3 149.6.190.6 (149.6.190.6) 13.618 ms 13.619 ms 13.623 ms
4 te38.agg-1.g50.kiev.volia.net (82.144.192.177) 13.881 ms 14.023 ms 14.117 ms
5 be1-40g.cr-1.g50.kiev.volia.net (77.120.1.9) 14.649 ms 14.915 ms 14.916 ms
6 be2.208.cr-1.f17.kiev.volia.net (77.120.1.137) 14.068 ms 13.774 ms 13.756 ms
7 te4-2.ares.dc.volia.com (82.144.193.1) 183.156 ms 203.912 ms v252.ares.dc.volia.com (82.144.193.9) 203.812 ms
8 v502.stack14.dc.volia.com (77.120.112.72) 15.311 ms 15.249 ms 15.253 ms
9 note.cityhost.com.ua (77.120.115.202) 14.945 ms 14.952 ms 14.940 ms
MAC-адрес сетевой карты можно узнать, используя команду IP. Команда будет иметь следующий вид:
ip link show dev eth1
Результат будет примерно таким:
ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 54:e6:fc:85:7f:76 brd ff:ff:ff:ff:ff:ff
а если выполнить команду:
ip link show
то будет выведен отчет по всем сетевым картам, подключенным к компьютеру.
Чтобы исследовать сетевую активность, можно использовать программу tcpdump. Если она не установлена, то установите ее командой в Терминале:
sudo apt-get install tcpdump
Запустить сканирование сети, которая подключена к вашей сетевой карте eth1, можно командой:
sudo
tcpdump -i eth1
Если сетевая активность большая, то в Терминале мы увидим очень много информации, которую будет очень трудно проанализировать. Поэтому рекомендую сохранить в файл весь процесс сканирования. В таком случае команда будет следующей:
sudo tcpdump -w test -i eth1
Ключ -w позволит сохранить нужную информацию в файл, который в нашем примере будет иметь имя test. Он появится в вашей Домашней папке. Чтобы изучить этот файл, нужно установить программу Wireshark.
sudo apt-get install wireshark
Запустим программу Wireshark и «скормим» ей файл test (File — Open — указываем файл test). В итоге перед нами появятся много всяких строк с числами и пояснениями на английском. В моем примере мы видим часто встречающиеся адреса 109.68.46.114, 91.194.251.92 и т.д.
Чтобы расшифровать эти IP-адреса нам понадобится программа host.
Чтобы узнать кому принадлежать эти «айпишники», выполним в Терминале поочередно команды:
host 109.68.46.114
host 91.194.251.92
Внизу вы видите выводы команды host:
114.46.68.109.in-addr.arpa domain name pointer mail.tvi.com.ua.
92.251.194.91.in-addr.arpa domain name pointer music.myradio.ua.
Из этого примера видно, что виновниками большой активности были ресурсы: tvi.com.ua. (онлайн ТВ-канал) и music.myradio.ua. (интернет-радио). А если подставить в команду реальный адрес ресурса, то мы узнаем его IP-адрес.
host www.it-talk.ru
www.it-talk.ru has address 77.222.40.75
Есть еще одна полезная утилита, которая поможет вам найти программы, использующие сетевой трафик. Имя ей — NetHogs. Установите программу командой в Терминале:
sudo apt-get install nethogs
Чтобы запустить nethogs нужно знать, через какую сетевую плату или устройство подключена сеть или интернет. В моем случае нужно было указать программе, что сетевой кабель подключен к сетевой плате eth1. Команда запуска была такой:
sudo nethogs eth1
В вашем случае, вместо eth1, может быть: eth0, lo, ppp, tr, sl и т.д. Но как правило, обычная, стандартная сетевая плата в Линуксе, обозначается именно как eth.
Еще несколько нужных команд:
sudo netstat -p --inet
Команда покажет активные соединения
sudo netstat -lp --inet
Команда покажет прослушиваемые порты в системе, а также кто их слушает
Я б ещё добавил в список nethogs показывает программы использующие сеть. Запускается с правами root.
Спасибо, добавил.
две сетевухи вторая не работает вывод команды ifconfig -a её не определяет а на выводе:
misha ~ $ sudo lshw -C network
sudo: unable to resolve host sl-900
*-network UNCLAIMED
описание: Ethernet controller
продукт: D-Link System Inc
производитель: D-Link System Inc
физический ID: 1
сведения о шине: pci@0000:04:01.0
версия: 10
разрядность: 32 bits
частота: 33MHz
возможности: pm bus_master cap_list
кофигурация: latency=32 maxlatency=64 mingnt=32
ресурсы: ioport:d000(размер=256) память:fb300000-fb3000ff
*-network
описание: Ethernet interface
продукт: AR8151 v2.0 Gigabit Ethernet
производитель: Qualcomm Atheros
физический ID: 0
сведения о шине: pci@0000:05:00.0
логическое имя: eth0
версия: c0
серийный №: bc:5f:f4:20:7c:3e
размер: 100Mbit/s
capacity: 1Gbit/s
разрядность: 64 bits
частота: 33MHz
возможности: pm msi pciexpress vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
кофигурация: autonegotiation=on broadcast=yes driver=atl1c driverversion=1.0.1.1-NAPI duplex=full ip=10.0.2.6 latency=0 link=yes multicast=yes port=twisted pair speed=100Mbit/s
ресурсы: IRQ:48 память:fb200000-fb23ffff ioport:c000(размер=128)
видит обе но только на одной нет логического имени как быть потскажите пожалуйста опытные люди за ранее благодарен
Что именно не ясно? У Вас две карты и одна нерабочая? Или я Вас неправильно понял?
да всё правильно вы поняли две сетевые карты:
d-link dfe-520tx
AR8151 v2.0 Gigabit Ethernet
КОТОРАЯ первая в списке не распознаётся
системой версия ядра Linux 3.8.0-36-generic
в злоOS windows работают обе
как зделать чтоб в Linux Ubuntu 64-x работали тоже
обе вывод кманд:
ifconfig -a
eth0 Link encap:Ethernet HWaddr bc:5f:f4:20:7c:3e
inet addr:10.0.2.6 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::be5f:f4ff:fe20:7c3e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:109817 errors:0 dropped:0 overruns:0 frame:0
TX packets:65866 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:146757717 (146.7 MB) TX bytes:5619009 (5.6 MB)
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:5190 errors:0 dropped:0 overruns:0 frame:0
TX packets:5190 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1402753 (1.4 MB) TX bytes:1402753 (1.4 MB)
eё нет
Скорее всего проблемы с драйверами. Посмотрите решение тут:
http://www.gentoo.ru/node/26560
http://www.linux.org.ru/forum/linux-hardware/10096529
http://forum.ubuntu.ru/index.php?topic=163956.0
http://ubuntulab.ru/faq/topic/6048/
Нашел решение проблемы проверил на своей Ubuntu1204 64 разрядной всё работает http://forum.ubuntu.ru/index.php?topic=222554.0
программу ndiswrapper устанавливать как пишут не с родного репозитория а с ссылки (ссылка на сайте автора есть)
после команды ndiswrapper -i указывать полный путь к файлу NETDLKEC.inf
Тем не менее здравое решение не засорять систему а купить свежую сетевуху с ней проблем не возникнет свежие дрова и модули в системе регулярно обновляются.
Вам спасибо за то что не оставили без внимания, ваша тема очень актуальная для себя многое почерпнул.
Вот бл… что я так долго искал: sudo lshw -C network!! Спасибо огромное за статью! Привет от калорадов)))
Привет )))