프로그래밍 QnA + 설치 및 활용 QnA

rokmn3309의 이미지

해당 포트번호를 사용하고 있는 프로세스 찾기

안녕하세요.. 서버호스팅(vmware)를 받고 있는 서버를 보던중..
프로세스를 표시못하고 - 만 표시되는게 있어서.. lsof -i :포트번호 로 해봐도 찾기를 못하는군요.. id로는 루트였지만 혹시나 권한 문제인가 해서 sudo 로 해봐도 동일한 결과입니다...
찾을 만한 방법없을까요?

thisnome의 이미지

raw socket 프로그래밍에서 특정 packet 을 drop 하는 방법

tcpdump 처럼 서버에 들어오는 모든 패킷을 살펴보는 프로그램을 만들어보고 있습니다.

raw socket 을 열고 recv 를 호출하면, 해당 기능이 동작하게 되는데요..

이렇게 제가 간단히 만든 프로그램에서 raw socket 으로 recv 를 한 이후에도 해당 패킷들은 서버내의 다른 프로그램들에게 잘 전달됩니다. tcpdump 를 작동시켰다고 tcpdump 가 패킷을 중간에 drop 하지 않는것 처럼 말이죠..

궁금한 점은 아래입니다. (사실 위에서 특정 프로세스가 읽고나서도 다른 프로세스가 또 읽는다는게 TCP , UDP, SCTP 등을 사용하는 프로그래밍만 해본 저로서는 좀 이상하기도 합니다. L4 에서는 특정 포트에 대해 binding 을 한 프로세스만 할 수 있어서 그런건지..)

이때, 특정 패킷에 대해서는 iptables 에서 패킷을 drop 하는것 처럼 다른 프로세스들이 읽지 못하게 하려면 어떻게 해야 하는가 입니다.

thisnome의 이미지

raw socket 프로그래밍에서 특정 packet 을 drop 하는 방법

tcpdump 처럼 서버에 들어오는 모든 패킷을 살펴보는 프로그램을 만들어보고 있습니다.

raw socket 을 열고 recv 를 호출하면, 해당 기능이 동작하게 되는데요..

이렇게 제가 간단히 만든 프로그램에서 raw socket 으로 recv 를 한 이후에도 해당 패킷들은 서버내의 다른 프로그램들에게 잘 전달됩니다. tcpdump 를 작동시켰다고 tcpdump 가 패킷을 중간에 drop 하지 않는것 처럼 말이죠..

궁금한 점은 아래입니다. (사실 위에서 특정 프로세스가 읽고나서도 다른 프로세스가 또 읽는다는게 TCP , UDP, SCTP 등을 사용하는 프로그래밍만 해본 저로서는 좀 이상하기도 합니다. L4 에서는 특정 포트에 대해 binding 을 한 프로세스만 할 수 있어서 그런건지..)

이때, 특정 패킷에 대해서는 iptables 에서 패킷을 drop 하는것 처럼 다른 프로세스들이 읽지 못하게 하려면 어떻게 해야 하는가 입니다.

declspec의 이미지

IDA 질문

IDA pro 에서 stripped 된 elf 바이너리를 분석하다보면
fd 라던가 sockaddr, port 뭐 이런식으로
변수명이 몇몇개 나타날때가 있는데
이건 IDA 가 상황을 분석해서 자기가 알아서 이름을 만드는건가요?

stripped 된 바이너리에서 얻을수있는 문자열 정보는
호출하는 라이브러리 함수의 이름 정도밖에 없지않나요?

그런데 IDA 는 몇몇 변수들의 쓰임새까지 파악해서
특히 file descriptor 는 자동으로 파악하고 stream, fd 등의
이름을 붙이는거같더라구요... IDA 의 기능인가요?

(그리고 혹시 IDA 플러그인중에 MIPS 디컴파일러는 안나올까요? x86, ARM 만 있는거같은데)

redpig의 이미지

pthread 질문드립니다

poss의 이미지

apache2 아이폰 mp4 스트리밍

테스트서버(ubuntu 10.04, apache2)에 mp4 화일을 올려놓고,
아이폰으로 http://xxx.xxx.xxx.xxx/test.mp4
하면 잘 플레이 됩니다.

하지만 실제 사용할 서버(CentOS5.4, httpd2.2)에서는
플레이가 전혀 되지 않네요.

Ubuntu쪽 아파치 설정과 CentOS쪽 아파치 설정이 달라서 그런것 같긴 한데, 뭐가 다른지 모르겠습니다.
두 서버 다 설정은 기본 설정입니다.

혹시 비슷한 경험 있으신 분들 조언 부탁드려요.

참고로 스티리밍서버는 따로 구성하지 않았습니다.

k1d0bus3의 이미지

[완료]upstart 질문입니다.

0. /etc/init/my-job.conf의 내용은 다음과 같습니다.
start on my-event
exec echo "sucess!!!!!!!!!!!!!!"
console output

1. 셀에서 initctl start my-job 을 할때, my-job이란것이 /sbin/my-job을 뜻하나요? 아님 my-job.conf를 뜻하나요?
my-job.conf를 실행시키고싶은데, initctl start my-job으로 해야하는지, initctl emit my-event로 작동시켜야하는지 헷갈립니다.

2. 1.의 어느방법을 해봐도, 반응이 없는데 뭐가 문제입니까?

sunnyncom의 이미지

쉘스크립트 안에서 변수에 "(더블쿼트) 쒸우는 방법 문의 드립니다.

grep을 이용하는 bash 스크립트를 작성하고 있는데요...

파라미터로 "(" 나 ")"등의 문자가 포함되면 아래와 같은 에러가 납니다.

bash: syntax error near unexpected token `('

test_script 라는 스크립트가 아래와 같다고 했을 때,

#!/bin/bash
 
pattern=$1
grep --color=auto -n "$pattern" *

test_script TESTPATTERN(XYZ) 하면 위와 같은 에러가 나고요...
test_script "TESTPATTERN(XYZ)" 하면 정상적으로 결과가 나옵니다.

즉, 스크립트를 사용할 때 파라미터에 더블쿼트를 안쒸우고 입력해도 에러가 나지 않게 할려면
어떻게 해야 하는지요?

getfeus의 이미지

인터럽트와 인터럽트 핸들러 추가 관련

인터럽트와 인터럽트 핸들러를 추가 해 보려고 합니다.

버스를 통해 날아오는 데이터는 전혀 없으며, (가상 머신의 게스트머신 커널 입니다.) VMCS레지스터에 인터럽트 통지 벡터에 데이터를 직접 써 넣어 인터럽트를 동작 시킬 생각 입니다.

문제는 이 부분이 아니라, 인터럽트의 등록 자체가 되지 않는 문제 입니다.

인터럽트 추가 방법을 확인하기 위해 타이머 인터럽트를의 추가 방법을 추적/분석 해 보았습니다.

http://getfeus.iptime.org/lxr/source/arch/x86/kernel/time.c?v=3.3.1

이것이 타이머를 추가하는 정보가 들어 있는 파일 입니다.

이곳에 다음 함수들을 추가 하였습니다.

redgrid의 이미지

IOCTL 관련하여 질문드립니다.

리눅스를 시작한지 얼마되지 않는 공부중인 사람 입니다 꾸벅...

리눅스커널 2.6.39.3 에서 아주 간단한 문자 디바이스를 작성하였습니다

#define DEV_NAME "/dev/test_device"
#define MY_IOCTL_NUMBER 't'

#define MY_IOCTL_READ _IOR(MY_IOCTL_NUMBER, 0, int)

//--- application
int main(int argc, char **argv)
{
int dev;
int data = 100;
dev = open(DEV_NAME, O_RDWR);

if(dev < 0) return -1;

ioctl(dev, MY_IOCTL_READ, &data); //값을 읽어오기 위해서 호출
...
}

위와 같이 어플을 진행했는데 _IOC_TYPE에걸려서 리턴되어 버립니다

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기