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.