네트워크 상에서 투명하게 동작하도록 가능할까요?

gurumong의 이미지

리눅스 박스를 스위치나 라우터로 처럼 투명하게 동작하도록 할려면 무엇을 공부해야할까요

실은 개인 프로젝트를 준비하고있습니다
내용은 070 전화기 앞쪽에 위치해서 수신/발신 전화번호에 따라 미리 등록된 이름 or 상호를 액정으로 보여주는겁니다
일반적인 전화기에 있는 기능인데 메모리가 작아서 100개 가량 밖에 저장하지 못하는데 거래처가 많은 회사나 배달음식점 같은 식당에서는 많이 부족하잖아요

초소형 컴퓨터인 라즈베리파이에 리눅스를 설치해서 사용할것이고 네트워크 구성은 아래와 같습니다
WAN-라즈베리파이-공유기=전화기(들)
WAN-공유기=라즈베리파이(들)-전화기

투명하게 동작해야되어서 일반적인 소켓 프로그래밍으로는 안될것 같고 또 자기 도착지 주소가 자기 ip주소가 아닌것들도 모조리 받아서 복제해서 다른 링크로 내보내고 또 패킷을 까보고 거기서 정보를 얻어내야하는데 무엇을 공부해야할까요?

gilgil의 이미지

그런데 라즈베리파이는 NIC interface가 한개라서 packet forwarding(routing, switching)이 가능할런지 모르겠네요.

gurumong의 이미지

답변 감사합니다!
USB to ethernet dongle이 있으면 가능하다는것 같습니다
블럭도라는걸 보니까 원래 하나 있는 이더넷 포트도 usb를 통해 연결이 되어있더라구요

웹서칭 해보니까 raw socket으로 어떻게 해볼수있지 않아 생각되는데
pcap이라니 자료도 부족하고 만들수있으려나 모르겠네요;;
계속 뜬 구름만 잡는거 같은 기분입니다 ㅜ.ㅜ

mirheekl의 이미지

패킷상에서 전화번호 부분이 암호화된다면 아무리 투명하게 처리를 한다 해도 말씀하신 부분의 구현이 어려울 것 같거든요. 그러니 그게 이론적으로 가능한지부터 알아보셔야 할것 같고 하드웨어 플랫폼 선택은 그 다음 문제입니다.

그리고 SIP계정정보만 가지고 있으면 스마트폰이나 PC등등으로 직접 070전화를 이용할 수 있습니다. (삼성 070이 계정정보를 공개해주는걸로 유명해서 해외에서 많이들 쓰고 계십니다.) 이런 방법을 사용하면 전화번호 저장용량 제약은 사실상 없는 셈이죠. 라즈베리 파이를 가지고 그냥 070전화기를 만들어버리는 게 더 나을 수도 있다는 얘깁니다.

또한.. 사족입니다만 라즈베리 파이는 고질적인 전원 문제가 있어서 (문제 없다는 사람도 있지만 애초에 문제 제기가 되었다는것 자체가 문제. 제가 쓰고 있는 것도 그렇기도 하고요) 장시간 유지보수 없이 동작해야 하는 해당 용도로의 사용에는 문제가 있을 수도 있겠단 생각이 듭니다.

--

gilgil의 이미지

SIP는 HTTP와 비슷해서 스펙 자체는 plain text기반입니다. 실제로 패킷을 잡아 보면 국내 070전화기는 대부분 UDP port 5061번 plain text이기 때문에 패킷을 잡아 분석하는 데에는 큰 문제는 없을 것입니다.
참고로 HTTP를 암호화하여 HTTPS라는 게 있듯이, SIP도 SIP over TLS가 있고, RTP는 SRTP라는 놈이 있습니다.

암호화를 한다고 하더라도, 국내에서는 경찰서, 소방서, 여행사와 같은 곳에서는 녹취가 의무사항이기 때문에 암호화를 할 수가 없습니다. 그리고 몇년전에 암호화를 지원할 경우 전화 요금을 조금 더 받겠다는 정부의 지침이 마련되기도 하였지요. 이런 저런 문제 때문에 국내에서는 아직 VoIP의 암호화가 일반화되지는 않았습니다.

goforit의 이미지

>일반적인 전화기에 있는 기능인데 메모리가 작아서 100개 가량 밖에 저장하지 못하는데 거래처가
>많은 회사>나 배달음식점 같은 식당에서는 많이 부족하잖아요

예전 IT 제품에 호환 되는 기능(추가 기능)을 부여하는 제품이 종종 틈새 시장에 먹히는 경우가 있더군요.

몇년 전에 어느 영국 업체가 이런 기능의 제품을 만들어 잠깐 시장에 판적이 있습니다.

QR Code 읽기 + 라즈베리 파이 (USB) => 구 신용 카드 읽는 기기에 연결


댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.