abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

Ladislav Hagara | Komentářů: 0
dnes 00:10 | Nová verze

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 0
včera 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 14
včera 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 1
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 26
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 779 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?

28.9.2011 13:56 Franta Hanzlík
rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Přečteno: 752×
Vždycky jsem si myslel (a podle man stránek se zdá), že by příkazy:
ping -I eth1 CÍLOVÁIP
a
ping -I ipaddr(eth1) CÍLOVÁIP
měly být ekvivalentní. Ale zdá se nejsou, na Fedora 14 i686 boxu se to chová takto:
# ping -I 10.128.254.2 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I eth1 -c 3 -nn 90.183.38.60
PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 : 56(84) bytes of data.
64 bytes from 90.183.38.60: icmp_req=1 ttl=56 time=4.66 ms
64 bytes from 90.183.38.60: icmp_req=2 ttl=56 time=12.7 ms
64 bytes from 90.183.38.60: icmp_req=3 ttl=56 time=4.50 ms
--- 90.183.38.60 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 4.502/7.310/12.769/3.861 ms


PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 eth1: 56(84) bytes of data.
From 10.128.254.2 icmp_seq=1 Destination Host Unreachable
From 10.128.254.2 icmp_seq=2 Destination Host Unreachable
From 10.128.254.2 icmp_seq=3 Destination Host Unreachable
--- 90.183.38.60 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 1999ms
pipe 3
Interface eth1 má IP adresu 10.128.254.2 (ta je u ISP NATována 1:1 na veřejnou), na žádném interface nejsou použity IPv6 ani IP aliasy:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:30:4f:39:4b:49 brd ff:ff:ff:ff:ff:ff
    inet 10.128.254.2/29 brd 10.128.254.7 scope global eth1
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:08:c7:25:c7:53 brd ff:ff:ff:ff:ff:ff
    inet 10.3.60.10/24 brd 10.3.60.255 scope global eth2
4: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:08:c7:19:3b:94 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.254/24 brd 10.0.1.255 scope global eth3
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1e:8c:94:05:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.254/24 brd 192.168.0.255 scope global eth0
6: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp
    inet 90.187.57.21 peer 78.103.210.66/32 scope global ppp0
Setkal se s tím někdo, resp. je pro to nějaké vysvětlení?

Odpovědi

pepe_ avatar 28.9.2011 15:16 pepe_ | skóre: 46
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Ubuntu 10.04 Jde oboje

Nainstalovano : iputils-ping 3:20071127-2ubuntu1

pepe@PC-Pepe:~$ uname -r
2.6.38-10-generic
pepe@PC-Pepe:~$ 


pepe@PC-Pepe:~$ ping -I 10.10.10.1 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I eth0 -c 3 -nn 90.183.38.60
PING 90.183.38.60 (90.183.38.60) from 10.10.10.1 : 56(84) bytes of data.
64 bytes from 90.183.38.60: icmp_seq=1 ttl=52 time=20.3 ms
64 bytes from 90.183.38.60: icmp_seq=2 ttl=52 time=22.0 ms
64 bytes from 90.183.38.60: icmp_seq=3 ttl=52 time=23.3 ms

--- 90.183.38.60 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 20.337/21.917/23.355/1.248 ms


PING 90.183.38.60 (90.183.38.60) from 10.10.10.1 eth0: 56(84) bytes of data.
64 bytes from 90.183.38.60: icmp_seq=1 ttl=52 time=23.8 ms
64 bytes from 90.183.38.60: icmp_seq=2 ttl=52 time=29.3 ms
64 bytes from 90.183.38.60: icmp_seq=3 ttl=52 time=23.2 ms

--- 90.183.38.60 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 23.237/25.468/29.362/2.768 ms
pepe@PC-Pepe:~$ 

28.9.2011 16:05 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
U mne je to kernel 2.6.35.14-96.fc14.i686.PAE a ping je z iputils-20100418. A z ppp0 mi to pingá také oběma způsoby. A z interface eth2 (jeho privátní IP je u dalšího ISP také NATovaná 1:1 na veřejnou) také - když je nastaven jako default GW. A pokud nastavím jako default GW eth1, tak se situace obrátí - z eth1 chodí jak "ping -I eth1", tak "ping -I 10.3.60.10", a "ping -I eth2 ..." nechodí.

Pro úplnost ještě uvedu ip tables a rules (toto chování bude nejspíš způsobeno nějakou kombinací těchto pravidel spolu s různým chováním ping při specifikaci jména interface nebo IP adresy):
# ip route list table wifismrk
90.187.57.21 dev ppp0  scope link 
10.128.254.0/29 dev eth1  scope link  src 10.128.254.2 
10.3.60.0/24 dev eth2  scope link 
192.168.0.0/24 dev eth0  scope link 
127.0.0.0/8 dev lo  scope link 
default via 10.128.254.1 dev eth1 

# ip route list table wifibudka
90.187.57.21 dev ppp0  scope link 
10.128.254.0/29 dev eth1  scope link 
10.3.60.0/24 dev eth2  scope link  src 10.3.60.10 
192.168.0.0/24 dev eth0  scope link 
127.0.0.0/8 dev lo  scope link 
default via 10.3.60.1 dev eth2 

# ip route list table adsl
90.187.57.21 dev ppp0  scope link  src 90.187.57.21 
10.128.254.0/29 dev eth1  scope link 
10.3.60.0/24 dev eth2  scope link 
192.168.0.0/24 dev eth0  scope link 
127.0.0.0/8 dev lo  scope link 
default dev ppp0  scope link 

# ip rule show
0:	from all lookup local 
32763:	from 90.187.57.21 lookup adsl 
32764:	from 10.3.60.10 lookup wifibudka 
32765:	from 10.128.254.2 lookup wifismrk 
32766:	from all lookup main 
32767:	from all lookup default 
28.9.2011 15:23 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Teď jsem ještě zkusil:
]# ping -R -I 10.128.254.2 -c 3 -nn 90.183.38.60
PING 90.183.38.60 (90.183.38.60) from 10.128.254.2 : 56(124) bytes of data.

--- 90.183.38.60 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms
(tj. oproti verzi která "chodí" je tam navíc přepínač "-R" /Record route/ - a s ním to také přestane ping-at). Pro upřesnění - zvenku z internetu lze na příslušnou IP adresu pingnout i navázat TCP spojení se službami na Linux boxu.
28.9.2011 15:37 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Tak tohle je pochopitelné. Record Route je nastavení volby Option IP hlavičky na hodnotu 7. Smysl mělo v počátcích internetu, kdy routovacích prvků bylo málo a také v internetu nebyli vnitřní nepřátelé. V současnosti mnoho routerů pakety s nastaveným RR zahazuje, protože tuto techniku je použít pro zkoumání struktury sítě a následně k útoku.
28.9.2011 17:31 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
jj, máte pravdu. "-R" jsem asi nikdy dříve nezkoušel. Teď koukám, že takové pakety zřejmě zahodí Linux (ve výchozím nastavení) i několik RouterOSů které jsem teď zkusil - a jeden z nich je i 10.128.254.1 gateway na eth1 interface toho mého keplu.
28.9.2011 16:14 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Eh, omlouvám se, zapomněl jsem main route table, vypadá viz níže. A ještě:
/proc/sys/net/ipv4/conf/*/rp_filter            = 0
/proc/sys/net/ipv4/conf/*/accept_source_route  = 1
# ip route list
90.187.57.21 dev ppp0  scope link  src 90.187.57.21 
78.103.210.66 dev ppp0  proto kernel  scope link  src 90.187.57.21 
10.128.254.0/29 dev eth1  proto kernel  scope link  src 10.128.254.2 
10.3.60.0/24 dev eth2  proto kernel  scope link  src 10.3.60.10 
10.0.1.0/24 dev eth3  proto kernel  scope link  src 10.0.1.254 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.254 
169.254.0.0/16 dev eth1  scope link  metric 1002 
169.254.0.0/16 dev eth2  scope link  metric 1003 
169.254.0.0/16 dev eth3  scope link  metric 1004 
169.254.0.0/16 dev eth0  scope link  metric 1005 
default via 10.3.60.1 dev eth2 
cynic_asshole avatar 29.9.2011 08:12 cynic_asshole | skóre: 28
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
[root@ganymed ~]# ping -I 139.84.66.15 -c 3 -nn 90.183.38.60; echo -e '\n'; ping -I re0 -c 3 -nn 90.183.38.60
ping: -I, -L, -T flags cannot be used with unicast destination


ping: invalid multicast interface: `re0'
Neznáš nějakou linuxovou distribuci pro Windows?
29.9.2011 10:05 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Zdá se, že interface musí být schopno multicastingu, aby bylo možno použít "-I" volbu. U Linuxu jsou tak nastaveny asi všechny Ethernet interface:
# ip addr show eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:30:4f:39:4b:49 brd ff:ff:ff:ff:ff:ff
    inet 10.128.254.2/29 brd 10.128.254.7 scope global eth1
Jak je to v BSD a co je re0 se přiznám že nevím.
cynic_asshole avatar 29.9.2011 12:47 cynic_asshole | skóre: 28
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
[root@ganymed ~]# ifconfig re0
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 52:54:00:00:01:8f
        inet XX:XX:XX:XX:XX netmask 0xffffff00 broadcast XX:XX:XX:XX:XX:XX
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
man ping
…
-I interface
	     Source multicast packets with the given interface address.  This
	     flag only applies if the ping destination is a multicast address.
Taková je situace na BSD.

Zkus si udělat na tom interface tcpdump v obou pokusech; podle mého v tom bude mít prsty ARP a směrování. V případě pingu z IP adresy bys měl vidět ARP dotaz na default GW a v případě pingu z interface bys měl vidět ARP dotaz na destinační IP adresu. V tom bude ten rozdíl. Bohužel si to nemůžu na ničem vyzkoušet sám, ale vycházím z logické úvahy.
Neznáš nějakou linuxovou distribuci pro Windows?
30.9.2011 09:10 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Tak na Linuxu vypadá popis volby "-I" jinak:
-I interface address
              Set source address to specified interface address. Argument may be numeric IP address
              or name of device. When pinging IPv6 link-local address this option is required.
Takže žiju v tom, že tahle volba vynutí odeslání ICMP paketu ven daným (jménem rozhraní n. jeho IP adresou) rozhraním (programově asi přes volání bind()). A bude se to řešit standardním postupem - pokud je cíl na segmentu tohoto interface, tak se zjistí přes ARP; pokud ne a routovací tabulky specifikují gateway, tak se to pošle tam.
V mém případě (cíl je mimo sítě stroje a routovaci tabulka "wifismrk" obsahuje
10.128.254.0/29 dev eth1  scope link  src 10.128.254.2 
default via 10.128.254.1 dev eth1 
) jsem očekával že to půjde na gateway 10.128.254.1 a ta to pošle dál. A hlavně, že "ping -I 10.128.254.2" a "ping -I eth1" se bude chovat stejně - že v druhém případě se jméno interface použije na získání jeho IP a dál je všechno stejné.
Můžete Vaši logickou úvahu rozvinout? Ona je totiž asi správná - v případě specifikace interface opravdu z mašiny odchází ARP dotazy na MAC cíle (90.183.38.60), ačkoliv podle konfigurace eth1 by mělo být jasné, že na jeho segmentu cíl není.
Jasno by asi vneslo mrknutí do zdrojáků a ev. nějaké trasování utility ping, ale asi mi to nestojí za ten čas - na tom Linuxu vše funguje jak má, tak proč to škrábat :). Jen mi to nějak nabouralo moje zažité představy. Traceroute má pro spcifikaci rozhraní přepínač "-i", a s tím to funguje bez problémů (a má zvlášť "-s" na specifikování zrdojové adresy). U mtr zase jde specifikovat jen odchozí adresa a podle toho se vybere interface. A já si napotvoru vyberu ping ;)
Díky
30.9.2011 10:24 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?

Ten popis neodpovídá tomu, co je ve zdrojácích. Ty dva případy se ve skutečnosti řeší různě: zadáte-li adresu, nabinduje se socket na tu adresu, zadáte-li interface, použije se socket option SO_BINDTODEVICE. Což celkem dává smysl - už od jádra 2.2 je totiž formulace "adresa daného rozhraní" principiálně nesmyslná. O víkendu snad budu mít trochu času a zkusím ten váš problém zreprodukovat, abych zjistil, co se tam děje.

Jen pro jistotu: nemůže vám ty pakety zahazovat netfilter?

30.9.2011 10:50 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Hmm, tak se zdá že traceroute to dělá "čistě" tím, že umožňuje zadat obojí, zařízení i source addr. A ping s "-I netdev" možná zdrojovou adresu vůbec nenastaví, takže proto ty ARP dotazy na cílovou adresu. Tadyhle je k tomu nějaký pokec (na tři kliky; asi by se toho našlo víc):

http://codingrelic.geekhold.com/2009/10/code-snippet-sobindtodevice.html

S tou "adresa daného rozhraní" se něco asi dělat dá, viz getifaddrs(). Netfilter pakety nezahazuje (je vypnutý).
30.9.2011 11:01 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
S tou "adresa daného rozhraní" se něco asi dělat dá, viz getifaddrs().

Všimněte si, že na konci je s a i popis v manuálové stránce říká "get interface addresses".

30.9.2011 11:09 Franta Hanzlík
Rozbalit Rozbalit vše Re: rozdíl mezi "ping -I INTERFACE" a "ping -I IPAdresa" ?
Ano, já to nerozporuji, ten popis je celkem jasný. Ale v případě, že interface má právě jednu adresu (můj případ), mi přijde logické ji použít jako adresu zdroje. Ale jak píši v předchozím, traceroute to umožňuje specifikovat obojí, což je čistší řešení.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.