FTP에서 업로드/다운로드 검증은 어떻게?

whatisid의 이미지

FTP에서 업로드/다운로드가 올바르게 되었다는걸 검증하는 과정이

있나요? crc 값을 구해서 비교한다던가....

지금 보기에는 그냥 파일 바이너리를 쭉 보내고 받을 뿐 따로 검증 과정은

없는 것 같은데요.

혹시 아시는 분 답변 부탁드립니다.

galadriel의 이미지

저도 질문보고 책 다 찾아보고 그랬는데.

괜히 찾아본것이었더군요..

옛날에 시디 이미지를 ftp로 많이 다운받았는데

crc같은걸로 체크 안해주고 쓰다보니 에러난것도 몇개 있더군요.

책에도 전혀 검증에 대해서는 없었구요.

요새도 시디 이미지 있는곳에는 md5같은것들이 같이 포함되어있으니

확실할듯.

galadriel in the tower of elves

cjh의 이미지

FTP자체가 TCP위에 있는 프로토콜이므로 정확히 주고받으면 에러가 (거의) 나지 않습니다. 다만 주고받을 때 파일이 깨질 경우(보통 로컬 컴퓨터의 이유로)가 있겠죠.

CD이미지나 소스 사이트의 MD5 체크섬은 주로 파일의 위조 여부를 위해 있습니다. 물론 크기나 내용이 다른 것도 체크할 수 있죠.

--
익스펙토 페트로눔

bugiii의 이미지

proftpd 같은 경우 plug-in 으로 md5 같은 값을 알아내는 서버 명령을 지원하기도 합니다. 파일의 정확성이 요구된다면 검토해볼만하다고 생각합니다.

cjh님의 말씀대로 대부분의 경우 데이터 채널의 접속종료시 서버측 파일 사이즈와 네트웍으로 전송된 사이즈가 같다면 그때까지는 거의 확실하다고 할 수 있습니다. 다만, 로컬 컴퓨터에 파일을 쓰다가 전원이 나갔거나 클라이언트가 죽는 경우는 보장할 수 없습니다.

Saintlinu의 이미지

오픈소스 FTP에 접속해서 보시면

아무개.md5sum 이라는 조그만 파일이 항상 같이 존재합니다.

이는 데이터 무결성을 보장하기 위해서 인데요..

이걸 같이 받아서 로컬에서 md5sum 아무개로 비교해보시는 것도

하나의 좋은 방법일 것 같습니다.

PS. 윗 분들 말씀처럼 TCP의 자체에 checksum 확인을 하기 때문에

상당히 안정적(?)인 프로토콜임에는 틀림없습니다. 로컬에서 저장할 때

특정한 에러가 없는 이상은 상당히 FTP는 안정적이라고 알고 있습니다.

Network Bandwidth를 정말 잘 잡아 먹어서 문제지만요..

행복하세요 ^_^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.