네트워킹 기능이 있는 맞춤형 장치가 있습니다. 내 장치에 TFTP 서버가 있습니다. 장치는 이더넷 케이블을 통해 내 컴퓨터에 직접 연결됩니다. 나는 tftp 서버가 어떻게 작동하는지 알고 있습니다. 다른 컴퓨터에서 성공적으로 테스트했습니다. 내 장치를 ping할 수 있지만 tftp 전송이 실패합니다. 나는 컴퓨터가 내가 본 메시지를 받지 못했기 때문에 실패했다고 생각합니다. tftp 번역이 시작되었지만 제대로 종료되지 않았습니다.
유니캐스트 또는 멀티캐스트 중 어떤 유형의 핑 프로토콜이 사용됩니까? ping이 멀티캐스트를 사용하는 경우 문제는 내 장치가 유니캐스트 메시지를 표시하는 것처럼 보이고 내 컴퓨터에 액세스할 수 없다는 것입니다.
네트워크 설정:
장비:
192.168.0.5ip
255.255.255.0 마스크
192.168.0.1게이트웨이
개인용 컴퓨터
192.168.0.1 IP
255.255.255.0 마스크
(win 기본) 게이트웨이
Wireshark 스니핑 https://yadi.sk/d/TEa230vKcErMjg?w=1
답변1
- custom_tftp_client pcap 파일.
이는 Windows와 매우 유사한 파일 이름을 가진 파일을 작성하라는 요청을 보여줍니다.
C:\Users\Ksandr\Desktop\IpAudioServer\firmware\forloader loader\reserver_firmware\forloader_reserve_0049496FB6AD.bin
파일이 다음으로 전송되도록 표시되었습니다.인트라넷모드는 다음과 같은 경우에 유용합니다.쓰레기통문서. 요청의 소스 포트는 51456입니다. 확실히 유효하기는 하지만 파일 이름의 백슬래시와 공백에 대해 약간 걱정됩니다. tftp 클라이언트는 또한 시간 제한 5와 tsize 46732를 요청했습니다. TFTP 서버는 올바른 대상 포트(51456)와 임시 포트(49153)를 사용하여 ack를 보냅니다. ack는 올바른 udp 체크섬을 표시합니다(요청에 잘못된 체크섬이 표시되지만 이는 NIC가 체크섬 계산을 수행하기 때문일 수 있음).
192.168.0.5의 MAC 주소는 00:49:49:6f:b6:ad이므로 전역적으로 관리되며(첫 번째 바이트의 두 번째 최하위 비트가 0임) 유니캐스트(첫 번째 바이트의 두 번째 최하위 비트) 0입니다). 중요한 비트는 0입니다.)) 주소입니다. 조직에서 00:49:49:xx:xx:xx를 할당하지 않는 한 첫 번째 바이트는 로컬로 관리됨을 나타내는 02인 것이 좋습니다.
tftp 클라이언트는 tftp 서버로부터 더 이상의 응답 없이 포트 69에 반복적으로 요청합니다.
- windows_tftp_client pcap 파일
분쟁이 적은 이름의 파일을 전송하라는 요청이 표시됩니다.
forloader_reserve_0049496FB6.bin
그리고 그것은 다음으로 이전되고 있습니다바이너리(바이너리 파일. 요청은 192.168.0.1의 포트 62500에서 장치 192.168.0.5의 포트 69로 전송됩니다. ack는 올바른 포트를 반환하고 소스 포트는 49153이며 올바른 udp 체크섬입니다. tftp 클라이언트는 47초 후 최종적으로 시간 초과 메시지를 보낼 때까지 1, 2, 4, 8, 8, 8, 8, 8초의 지연 시퀀스 후에 포트 69에 반복적으로 요청을 계속합니다.
- 그렇다면 문제는 무엇입니까?
- 192.168.0.5의 tftp 서버는 여러 요청에 응답해야 하며, 보내는 ack가 손실될 가능성이 항상 있으므로 클라이언트가 반복적인 요청을 할 수 있습니다.
- 어느 TFTP 클라이언트도 응답을 받지 못하는 것 같습니다. 두 장치가 이더넷 케이블을 통해 직접 연결되어 있으므로 네트워크 장치를 배제할 수 있습니다. PC의 IP 스택에 일부 방화벽 규칙이 있고 패킷이 전송되지 않은 포트에서 오기 때문에 응답을 삭제하는 것 같습니다. 질문을 편집하면 tftp 클라이언트 중 하나가 "windows tftp 클라이언트"임을 나타냅니다. 다른 SE 사이트에 답변이 있습니다.이것Windows UDP 방화벽 문제를 해결하는 방법을 설명합니다. 어떤 포트 192.168.0.5가 사용될지 모르므로 모든 UDP 포트를 활성화하거나 UDP 필터링을 비활성화해야 합니다(죄송합니다. 내 앞에 Windows 시스템이 없으므로 다른 답변을 인용하고 있습니다) 테스트되지 않았으므로 이것을 어디에 사용해야 할지 모르겠습니다) 이 상황에서 정확히 무엇을 해야 합니까?
답변2
문제는 Windows 방화벽에 있습니다. 방화벽을 비활성화하면 모든 것이 잘 작동합니다.