터널을 통해 MAC 주소 검색

터널을 통해 MAC 주소 검색

현재 나는 오래된 MS-DOS 게임에 인터넷 지원을 제공하기 위해 내 자신의 소프트웨어를 추가하는 작업을 하고 있습니다. 내 기본 환경은 Linux이기 때문에 Linux 내에서 DOSBOX를 사용하고 다음 지침에 따라 인터넷 연결을 DOSBOX에 제공합니다.인터넷용 DOSBOX 구성

이후 Linux는 기본적으로 DOSBOX에 대한 또 다른 라우터처럼 작동하지만 DOSBOX가 사용하는 게이트웨이 주소와 DNS는 호스트가 인터넷에 연결하는 데 사용하는 것과 동일합니다.

그런 다음 mTCP dos 인터넷 제품군을 다운로드하고 ping 도구와 htget 도구를 사용하여 Google 홈 페이지를 검색할 수 있지만 unix의 tcpdump에서 패킷을 분석하면 이더넷 프레임의 처음 14바이트가 표시되지 않고 ARP 패킷도 표시되지 않으며 mTCP 제품군에는 ARP 테이블이 없습니다.

따라서 항상 브로드캐스트 주소를 사용하지 않는 한 원격 시스템의 MAC 주소조차 모르는 경우 그러한 소프트웨어가 어떻게 Google에 연결할 수 있는지 이해할 수 없지만 네트워크 리소스가 소모되지 않습니까?

그럼 내 소프트웨어로 돌아가서.... IP 패킷을 사용하면 DOSBOX(여기서는 동일한 컴퓨터를 다루고 있음)에서 내 호스트(Linux)에 연결할 수 있지만 ARP 패킷을 외부로 보내는 데 문제가 있습니다( 글쎄, 적어도 tcpdump는 그것을 표시하지 않습니다).

이것은 내가 네트워크에서 순서대로 보내는 데이터입니다.

FF FF FF FF FF FF 00 02 12 00 56 34 08 06 00 01 08 00 06 04 00 01 00 02
12 00 56 34 C0 A8 07 02 FF FF FF FF FF FF 08 08 08 08 

그리고 데이터 크기가 60바이트가 될 때까지 데이터에 0을 추가합니다.

DOSBOX는 ETHERSLIP 드라이버를 통해 내 이더넷 주소를 다음과 같이 식별합니다: 00:02:12:00:56:34

DOSBOX가 실행되는 동안 터널을 미리 생성했으며 이에 대한 정보는 다음과 같습니다.

sl0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1524
    inet 192.168.7.1  netmask 255.255.255.252  destination 192.168.7.2
    adaptive  txqueuelen 15240  (Adaptive Serial Line IP)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

DOSBOX에서 네트워크에 arp 요청을 보낼 때 Linux에서 tcpdump를 사용할 때 (아무 것도 표시하지 않고) arp 요청으로 표시되도록 설정하는 방법이 있습니까?

답변1

MAC 주소는 로컬 레이어 2 LAN에서만 표시되거나 관련됩니다. 또한 모든 계층 2 네트워크가 MAC 주소를 사용하는 것은 아니며 일부는 다른 주소 지정을 사용하고 일부는 주소 지정을 사용하지 않습니다. MAC 주소를 사용하는 것 중 일부는 48비트이고 일부는 64비트 MAC 주소입니다. 라우터는 MAC 주소 지정이 포함된 계층 2 프레임을 제거하고 다음 인터페이스를 위한 새 프레임을 구축합니다. 패킷은 소스에서 대상까지 다양한 레이어 2 프로토콜을 통과할 수 있으며, 어떤 프로토콜이 사용되는지, 어떤 프로토콜이 MAC 주소 지정을 사용하는지, 경로에 없는지 알 수 없습니다.

DOSBOX 연결은 MAC 주소 지정을 사용하는 프로토콜을 사용하지 않으므로 ARP를 수행하지 않습니다. 사용하고 있습니다슬립이는 MAC 주소 지정(또는 다른 레이어 2 주소 지정)을 사용하지 않는 PPP와 같은 지점 간 프로토콜이므로 ARP가 없습니다. PPP와 마찬가지로 SLIP의 경우 가능한 끝점이 두 개뿐입니다. 레이어 2 주소 지정은 필요하지 않거나 사용되지 않습니다. 한 쪽 끝의 모든 트래픽은 주소를 사용하지 않고 다른 쪽 끝으로 이동합니다.

관련 정보