Link-ul este o imagine a unui Halda Wireshark a unui cadru Ethernet de 60 de octeți de intrare care conține un pachet UDP. Sarcina utilă a pachetului este un singur cuvânt „bună ziua” (îmi pare rău, nu am suficientă rep pentru a lipi imaginea direct).
Problemă: nu pot primi socat sau nc pentru a citi și afișa acest pachet (acest lucru nu este în întregime adevărat; vezi #1 de mai jos).
Rulez cititorul ca:
$ socat UDP:192.168.50.129:5000 -
Am încercat diferite formate de adrese legate de UDP, precum și acesta. Scriitorul este condus ca:
$ socat READLINE UDP:192.168.50.132:5000
Întrebare: cum afișez acest pachet primit, de preferință ca un singur cuvântBuna ziua?
Există, din păcate, câteva complicații:
#1
Dacă rulez cititorul ca # socat INTERFACE:ens4f0 - apoi eu do obțineți o afișare a cadrului primit (este afișat de două ori, dintr-un motiv oarecare). Există o ieșire binară și apoi cuvântul Buna ziua. Cu toate acestea, nu pot face acest lucru, deoarece în cele din urmă vor exista alte procese care vor folosi această interfață, așa că trebuie să înțeleg ce se întâmplă
#2
Cadrul de intrare are de fapt o adresă IP dst de 192.168.50.132; firewall-ul este setat să convertească acest lucru în 192.168.50.129, care este adresa la care ascultă cititorul:
# iptables -t nat -A PREROUTING -i ens4f0 -j DNAT --to 192.168.50.129
Ieșirea Wireshark arată pachetul de intrare înainte de această conversie, deci arată adresa IP dst ca 192.168.50.132. Nu știu cu adevărat dacă funcționează sau nu - pot obține socat pentru a produce o descărcare hexagonală a ceea ce vede de fapt ens4f0?
#3
Acesta este cel dificil, dar sper că nu are legătură. Acesta este de fapt un test de loopback: un singur cadru se stinge ens4f0, este recircuit de hardware extern și este returnat nemodificat la ens4f0. NIC-ul are o adresă IP 192.168.50.129. am un ip neigh add comanda către care direcţionează accesul 192.168.50.132 afara din ens4f0 la hardware-ul extern; pachetul este returnat nemodificat, motiv pentru care am nevoie de iptables comandă pentru a converti adresa IP dst înapoi în ens4f0 abordare.