맥어드레스(Mac Address)로 장비에 연결

navy9370의 이미지

제가 하려고 하는것은 IP를 설정할 수 없는 장비에 접속해서 패킷을 보내려고 합니다.

IP는 없지만 맥어드레스는 있습니다.

기존에 장비와 통신하고 있는 프로그램이 있는데 그프로그램과 장비가 통신하고 있는 프로토콜을 캡쳐해서

제가 별도로 프로그램을 만들고 싶습니다.

캡쳐한 패킷을 보고 패킷을 만들어서 WinPcap Lib의 SendPacket()으로 패킷 보내는(CR : Connection Request)것까진 됐는데

응답이 CC(Connection Confirm)가 와야하는데 DR(Disonnection Request)이 날라옵니다.

PC 프로그램과 장비의 프로토콜은 ISO 8073 COTP(Connection-Oriented Transport Protocol) 입니다.

프로토콜을 캡쳐한 화면을 캡쳐해서 파일첨부했습니다.

첨부한 이미지를 보시면 Source Reference와 Called TSAP, Calling TSAP가 있는데

Calling TSAP는 장비에 설정되어 있는값을 넣으주면 되는것 같고 , 문제는 Called TSAP와 Source Reference입니다.

Called TSAP는 원래 통신이 잘되는 PC프로그램에 특정값("READREA5")을 설정해 두고 패킷을 전송할때 이값이 동일하게

날라갑니다. 이값이 하는 역활이 뭔지 모르겠네요. 그리고 Source Reference 가 뭐하는 넘인지 모르겠습니다.

막연한 생각으로는 일반 소켓통신에서 Port와 같은 역활을 하는거 같은데 그냥 제 생각입니다.

처음 PC프로그램이 통신을 연결할때(CR 패킷을 보낼때) Source Reference에 랜덤한 값을 넣어주고

Destination Reference에는 0x0000값을 넣어서 보내면 정상적일때는 장비에서 CC 패킷이 날라오는데 Source Reference에

장비의 Source Reference 값이 들어있고 Destination Reference에는 PC가 보냈던 Source Reference값이 들어있습니다.

연결된 이후에는 서로 주고 받는 Source, Destination Reference로 서로 통신을 하는것 같습니다.

통신을 재연결하면 이 값들이 다시 바뀝니다. 이런 부분들이 일반 소켓통신에서 Port와 비슷해서 Port 역활이 아닌가 생각했습니다.

비정상적을때(제가 별도로 만든 프로그램)는 PC에서 CR 패킷을 보내면 DR 패킷이 날라옵니다.

당연히 DR 패킷에는 장비의 Source Reference값이 0x0000값이 들어있습니다.

제가 알고싶은것은 Called TSAP가 하는 역활이 무엇인지와 PC에서 CR 패킷을 보낼때 Source Reference 하는 역활이 무엇이며

Source Reference 값을 만드는 규칙이 있는건지 궁금합니다. 더 궁금한건 많지만 일단 하나하나 풀어나가야 되겠네요..

제가 지식이 짧고 말주변이 없어서 이해하시기 힘드실수도 있습니다. 고수님들의 답변 부탁드립니다.

[요청 패킷(CR)]





[정상응답 패킷(CC)]





[비정상응답 패킷(DR), 연결해제 패킷]

File attachments: 
첨부파일 크기
Image icon CC_Packet.jpg195.42 KB
Image icon CR_Packet.jpg218.97 KB
Image icon DR_Packet.jpg153.54 KB

댓글 달기

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