DHCP - Serwer nie odpowiada na discovery

DHCP - Serwer nie odpowiada na discovery
JA
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:40
0

Czesc,

Pracuje nad wsparciem DHCP na STM32 i mam pewien problem. Przyznam, ze troche utknalem z tym. Wysylam discovery i serwer nie odpowiada na moje żądanie. Podsłuchuje sobie pakiety na linuxie w tej samej podsieci i niby wszystko wygląda ok - linux nawet dekoduje poprawnie tą wiadomość dhcpdumpem, a tcpdump pokazuje ze checksuma zarowno w UDP jak i IP jest poprawna. Z reszta i tak jest wyliczana hardware'owo wiec raczej powinna byc... Ba! Wedlug linucha wszystko niby jest poprawne... Ale cos na pewno nie jest, bo dla wszystkich innych urzadzen serwer odpowiada bez problemu na discovery, tylko dla mojego nie... Macie moze jakies doswiadczenie z tym, moze jakis pomysl co moze byc nie tak? Ponizej pelen pakiet w hexie jak i zdekodowany przez dhcp:

Kopiuj
 
21:21:01.078262 IP (tos 0x0, ttl 255, id 53287, offset 0, flags [none], proto UDP (17), length 308)
    0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from 24:0a:64:e9:aa:aa (oui Unknown), length 280, xid 0xc87b0120, Flags [none] (0x0080)
	  Client-Ethernet-Address 24:0a:64:e9:aa:aa (oui Unknown)
	  Vendor-rfc1048 Extensions
	    Magic Cookie 0x63825363
	    DHCP-Message Option 53, length 1: Discover
	    Client-ID Option 61, length 7: ether 24:0a:64:e9:aa:aa
	    Hostname Option 12, length 19: "http://ChocoOS.org^@"
	    Parameter-Request Option 55, length 8: [|rfc1048 8]
	0x0000:  ffff ffff ffff 240a 64e9 aaaa 0800 4500  ......$.d.....E.
	0x0010:  0134 d027 0000 ff11 ea91 0000 0000 ffff  .4.'............
	0x0020:  ffff 0044 0043 013c b0af 0101 0600 c87b  ...D.C.<.......{
	0x0030:  0120 0000 0080 0000 0000 0000 0000 0000  ................
	0x0040:  0000 0000 0000 240a 64e9 aaaa 0000 0000  ......$.d.......
	0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0090:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00a0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0100:  0000 0000 0000 0000 0000 0000 0000 0000  ................
	0x0110:  0000 0000 0000 6382 5363 3501 013d 0701  ......c.Sc5..=..
	0x0120:  240a 64e9 aaaa 0c13 6874 7470 3a2f 2f43  $.d.....http://C
	0x0130:  686f 636f 4f53 2e6f 7267 0037 0801 031c  hocoOS.org.7....
	0x0140:  0617 1a2a 33ff 0000 0000 0000 0000 0000  ...*3...........
	0x0150:  0000 0000 0000 0000                      ........

Kopiuj
 
---------------------------------------------------------------------------

  TIME: 2016-10-31 21:21:01.155
    IP: 0.0.0.0 (24:a:64:e9:aa:aa) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: c87b0120
  SECS: 0
 FLAGS: 80
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 24:0a:64:e9:aa:aa:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         1 (DHCPDISCOVER)
OPTION:  61 (  7) Client-identifier         01:24:0a:64:e9:aa:aa
OPTION:  12 ( 19) Host name                 http://ChocoOS.org
OPTION:  55 (  8) Parameter Request List      1 (Subnet mask)
					      3 (Routers)
					     28 (Broadcast address)
					      6 (DNS server)
					     23 (Default IP TTL)
					     26 (Interface MTU)
					     42 (NTP servers)
					     51 (IP address leasetime)

Endrju
  • Rejestracja:około 22 lata
  • Ostatnio:ponad rok
1

Jaki serwer?

Włącz w nim logowanie i zobacz dokładnie co się dzieje kiedy przychodzi ten pakiet. Może po prostu dowiesz się dlaczego jest ignorowany.

Oglądaj pakiety Wiersharkiem jak człowiek, a nie tcpdumpem jak jaskiniowiec. ;-)


"(...) otherwise, the behavior is undefined".
edytowany 1x, ostatnio: Endrju
JA
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 7 lat
  • Postów:40
0

Dzieki, wireshark faktycznie swietny jest, znalazl mi problem z rozmiarem naglowka. Teraz pokazuje ze pakiet jest poprawny, niestety ciagle nie moge dostac odpowiedzi na niego :P A co do serwera to router z vectry, nie bardzo jest jak na niego sie zalogowac. Jutro sprobuje na jakims normalnym, moze cos mi znajdzie. Dzieki

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)